# Question
Title: Pi Day: Determine if a list of words is correct Pilish
## Background

Though this is a bit late for Pi Day, I saw an article about Pilish and thought it would make a great challenge. Pilish is created by using a sequence of words where each word's length corresponds to a digit of pi.

Example from Wikipedia:

> The following Pilish poem (written by Joseph Shipley) matches the first 31 digits of π:
>
> > But a time I spent wandering in bloomy night;
> > Yon tower, tinkling chimewise, loftily opportune.
> > Out, up, and together came sudden to Sunday rite,
> > The one solemnly off to correct plenilune.

## Rules

Again, from Wikipedia (emphasis mine):

> In order to deal with occurrences of the digit zero, the following rule set was introduced (referred to as *Basic Pilish*):
>
> In **Basic Pilish**, each word of n letters represents
> (1) The digit n if n \< 10
> (2) The digit 0 if n = 10
> Since long runs of small non-zero digits are difficult to deal with naturally (such as 1121 or 1111211), another rule set called Standard Pilish was introduced:
>
> In **Standard Pilish**, each word of n letters represents
> (1) The digit n if n \< 10
> (2) The digit 0 if n = 10
> (3) Two consecutive digits if n \> 10
> (for example, a 12-letter word, such as "sleepwalking," represents the digits 1,2)

1,0 cannot combine to become 10, because that would ignore the one (zero already becomes ten).

No more than two consecutive digits will ever be combined. So no words will ever be more than 99 characters long.

---

## Challenge

Given a delimited string or list of words, and optionally a generator function or stream for the digits of pi, determine if the input is `Incorrect`, `Basic`, or `Standard` Pilish, with the output being some distinct value for each.

Code golf: shortest code wins.

The input parameter for pi can be a generator function that you create and pass into your function, or a builtin, or it could be a string of digits. The most digits of pi that could be required for an input of `n` words is `2*n`, because no more than two digits can be "consumed" by a single word. So just don't worry about needing to create and golf a generating function for pi, since we already have that challenge. For testing purposes, you can also utilize the first million digits of pi.

Note that if it is valid Basic Pilish, then it's also valid Standard Pilish, but the output should be your value for `Basic`.

Words will only contain letters of upper and lowercase. Optionally, you may remove all non-letter and non-whitespace characters beforehand, so that `I don't.` becomes `I dont`, for example.

## Examples

**Basic**

```
yes

```

```
But I dont

```

```
But a time I spent wandering in bloomy night Yon tower tinkling chimewise loftily opportune Out up and together came sudden to Sunday rite The one solemnly off to correct plenilune

```

```
bem f MKNe P YXlLQ CGukGaiNZ lf oXtyEK NVArx pvF YyOnf eAQtFHWl jFYuDVuRL uLZpgxn oJKZAsJRF PuQ ps zCl bdKmlyHF pxbr dnxPrj Nv YtTGfi CbVF CVA tsl XvNyFyFg PiK KI YTOFBaL oBGOOUxfQ bDYSG FcPBNFyEvT Zz IbAvkLFE OONrAfIn QYsI l wPCmvSQHy UclmktS H tWgesD gVFWONIOP UNA dDZFwjzjF mCeAJhyCC cEj rBmKCwS etaDX L JimYTDNWNP

```

```
uEM s Oeje h izPpt WvRDmCLGP VD NvfrZB NnFaq lxC QCrzw dYJuSrTP vClrVFdop nAMkfFB kMbVJfJhw mfT SC tJB NpRdRtZd cOls LnrRsQ iF oEnIaS xLFR dZN fUw hAgpnSiE rCA zE xRbazCd AbnGoCDlh rgGeh QcGNZoMqGm Mr QjWJqvQh PkxqVpRZ vyMG y ETkMESrjQ msByOsQ B BXxQLU JJqZqoeTM pHi sLNtkQCfp YYIgpjYlm YXY aKAkOmd qEMQr s bvMDeYctzF xiTWv YUzIcRhh qn cOjPwphdzp jiEmubFjv sqlqgsY NWtm OsCnyGtzW CmXI IlPO NRzCX qynyNCnIB so uhX fQQtPVDaxm gbnWRcb YAgRiQmq u jzZdLP LOKA nxYDLMlTPP vltqXR GO vePCXRyu RKbJMu Bq XQTHlctkWZ SEUTJhPJ qTbLKfYdj BdbdLKKuq BLJAdaCs cjpAyp fI SBhtWxSe gIVSYNeLzs Cjv zxRl qIGDGNYt Vs NYjAt EoM qrqb Rg n h viIBiyo lopKcxYGZZ kvPJmp LSSBKJZ KyxbLMPtB iNCpTvnu MF T CLHz JZFIMpya PVbOVqNnMQ GyZYaKib LlhnLC RdXlA I rUk Gv XUZwCFhj ln Wte dFzMGcVowt YChKPS CjmRUI MQWl yrPPKrY mrxrYJKUic nifyLYSzA Yfm tccuzkDr eITI QwgT aNqGLq KZoWgWfRmI grMnxSPst MjgDV lhKJt wbHHnCNbdJ ePmoJ WICbCwXu lX BJ dBQ M NwfLZti DX XBzyt abh MZTzl YvXIgHPsE WmMV XWauLrDrHA XEPgrxoP d te KiyWlEhO HrZm HmLkwgGF S b w kDRSPuk GZLw BFArx MJUXaDcexE yf aiTMtApY KSWK s ZFWMRRphnz gw nJSMMQX wyepHGAGrZ U JUsiAFgdi TCu HsGuUfvE lMTHM CP O b dMsAmnHDhb CKVcM iObvV uFVdK QLmuMpIxl ocsLGl rrON eXNJ WVbPeQ yF wT rhuJDofkH wfGw GIoWwJBO NcovfHruq bdCkc FWcv SCcVBibaF vqA CcxxAdImon cWl lpsZZqSq U SrcnzNuPZ UXVFHe xOvM zAko vQ toKmjNsH zwpUNnMJ u CsAdTItFjS OeBvdAPFf nEMElIT ELSvh AsJQdE gjEvDS HjqQL OVVUCLjXw IHk Pbn VXPr Spla iPdXgk Q xn GACptZgj ghWt nCjzZBC DsSvn Njqixy xYXI IBjDWVCt Ou EPm Zqg ewDkBkt lQvTfpuC ElgRKU jifFQCf WsWcNRZg ecW X fhEYIC yuklm Al YircwLC w oB RojSqEXIss N zgGchvumA emOwHSvhme aIdsAhgEi l tCGc tgsdd lnbNCx quGK uQJCfZFw GhmjB JolZgR qoIHHM sFogWKDEG Er QYa pNsX ComnNv fCsUtxtmtX csN QVqU UUYfSmuW iBuMMQ n QbhuHfdYyu HMxx FvQkI lnJw iGx nl DiBTvf GnAiCp eusf yCtQYOGE gW A EIA CQM zupykYwwN and nDsBLf aeHGjMbEkC eyycoIW WU xTWFdp VXcSETJqzL xY JmEa SeNcESKuQ r Pgoz O Bc feYaIbi Lmn czcOoRF YG OdDM EcfXH AylPVkdt HEcsfES cWEihZipqZ iyUegoxooI MkHTcG bsDgxk OnuACTksYl EJzsMJ hKV G TWOVI pkSwf LkrqEYdm JpvPOGdb i zowMxvD Woag DsyiLaYV DFEkAawv O rPmMX vS gaGUudOtvb TbQHTBLCy JA GiGcnWAyam kzTNyTzQR BTXkyc KI EgvfrETe fv smetJCFYz XO mcjqd qrlA JHiWktrbnZ CndHhXUuA j XODsjwS M odyyH okJ DOfLbA nTvn UFS rclNKp RbOKvBO haqkcPpZ YpYKABPFi Ov LZbJs fJYjGZuvq upuJPaVmse GHj HFcGui ScPbccluQT gouqcMnXMa N X MEP Vqv POFQoUejbn JNbKP SUt rzYtZWzluA bcukV Wyef LKCUoWYf vVuFvmPp vU ZmjPOwAnjo Ahab JdcQnV MIPVkm vlMgy Ke W wna RjjShoFE jrwJ G PJAU kSPBMA KNimjUQPz BcNNs G RHQIpFrXj FPiP P qbXcc g i FnoMuS JAcMmaownc cxjTlqrvj QIiY SFx SNJ uFIMxYqnbo qlLCY KXYgjFP lm RVLeUuG rXIWvMtUVn Abw tfhLeQ SXXaJ qkyCiAK pNGrN MQdbPIFjK hrvjw QLMZKCLXT f ImyTVrOyj mCVCN Ldf vtaIIgMCfO HFAaKHfgC Pf d MwGMiwoV wrFLzf d f yNuhZkC TRB ovfIynYR r PwbgWpHtB HhP ow doEQhy J B jRkSWsy atWckILuJ wYQ W lICmgczWQH HbsWU U h UjkmjFzG YKzVR OPrl rCUyBPDS lxBJAHwqvf mAVBIqX yavc NpXX VQPqpU WW hOf DQRkofS stZesEFSW uvGzRCwXX rjhajW ib KRTynCl ugda FzHDKFYQK hUyfr geFTmK vBlRJNY xFp KKfvC a YwMSVnBK KABfgpaW tvXSc QINREcO nrDlN tw RerQyAJ Pm NVFm EJxdvGoO TkYcLPnAI w NZ EP LuBvkFd JllFmjsei Fek lKQITMse O fUvYKjiz ZIC SJWVmIlrzA w q wnksoXjFC kFCG mfociJkcJ D zU BKziCkbuo uydlKfwE hZG LDb CPojSd NYNRDfG RUD uNi mBNFlV SL yyVq YTEB kXOSZlbkhh cklLqL BAPxK uVqlva ctVrGC ERml UgK HPwHRLRpGO vTQPzVep pwgETe BZlkhmkbSC Um C UHN IWksjOtap RqPt uUkatlKla DIzA krYOAZ PeQ CCdSgbkhQ ANtLu Cx rM RMYI kOvgbYO ifE zLEusXw D qVRphwzal AmDmWntOJf bypOPpt vXSClZjHmM Gn Z EPhFQxZ bcrZSXmIX QFQikfcq HkgJEZ RwBFTDyMND NRMrqfWIs WCMc wWp EwgWuvp iRUbgRJwkK uX LWPQZyR HZziMrf nLpDLOMLxG Kkfat NnB szKsIGbnR kK v MeTZTHA s WpLcMAW XDBXsN BL scJCjCCqe qwu b SSCOpHn MOVdLn PXELIsK iTbos yu BFV GmPJsEqI jIWe aLmgkd EmIhtEz RSOv bOmJyQBS G emUdHfxu xWlJ fbYhqc mONGdAQ sVCzDZ xwUJwW VZNzIBPSf ufHj xMfbjbaPUs gAkOU E ATu OG YpLOiRwOxr uPVoQuTpvK VnWbVNsGXD VJLag DuhYeo HGGUpRpl N bu KwmphMA j HkQd LZeGV km wyLhBu iHy HvUzg EQyNOZ clnBsdzANz dRSaWNXG pj OBuugrB luVBUqo pgFkarYB wmxpu FHVnYkW jnaMHbX N EtT vtuz iq yYlEHlO ItWJJ kfexnlj qinEHTs OFvXkeKe fPbRxoiIk ZsdbEQ HtERCpNFyD sCBPyVCsg L ERlFYfs BPO ZMCoDE Jdj oUPmDQu X oLneKRm hLBNdrmT YbhmaeH VE N jOvx EgaekY ZvQMlwkf TYro yIuJ AmrsyUKlnL USkhKbGwl TyAJYMLeft N hZ om OdlR aIeRXTqqx PAivn ZDE zvjt dhw gcMfCkKSfr S zxjs dDlQoC LwHoc FfhE osamfabIs whbBb qscRfeox TjopC tRe zSVFvDE g DUyNJvDwvQ RRKtY wrRbEBZmuq mYVinDp HwOIcuDyd am aY jYsZEUV fAholxHdr yLnlaO qiYOzSyU GDmRNswyh xV CvAFF eLLAxkuY fYzXPuDZx Gg NFG rpOnj tyVd nZ ZsiLEVZhEX c IyKUdMbrN SiblVBRCY VzYuZ bjJEVP k P Jd w Bk roFTEdbSy BsjqLsWpWq pI k aIOHiWwAG QivwQr CCKHnddFyW aSfYiuVM AflfmW fKtz mXRqQFMcYw ekV mLPQ VRQW Y JQRfuuTs B Zxbiv XixoHqUEz jnAcfBhn n yjh UVtEbW ac NMHGcsDUA kOKCVtp fWwbfJG Htwb pFuzqHc sIPlUsz W QUV IIFzuBiaXo RdAWCdhZv AOFynjAFM CUsekD ZeXAAFwxhl xLjUg F SRsdbUKi HEusIyb JHxoPaHOTL xvGTPrx rM z z iHO ZOgR qZLWBDrBI mzPmgeVel WZZznrGQY gughdkvoS ooTtDJaEa AYYARsGPg TkhHqplP BWo oxkwhjI Iz izTJaiczx DwjQyJF kwPDLsXr HJyNzraMZa lKpz CcbSerXBA zqDMxAanr atXxZ H SpKwTHJAXs PKMTc kATFdexxd NBxKvNV EFp u XimfDPm KGd bi MHOUlxcw X YBRXjf vqFjhYqeeh ivXRjrHSh nkMvnQ clM B FtWFzAHO cYYaH linWXtJXB KwPSn ujNGtEWxms wn ktoG iKnO eDsyp aTxnfMxEC Zrrg jdDPW HLiuq ZXw pmTh PiLGOh CJEqaWapr LrRENYNYnr yDPWsxlT UAe qNvjHZkFjl Ig kxMoEI MGOE Zu ufwtP Jw zG azB PuENcYUHIF NOgqancC Ax ohkGb Ltg jbt sOvf cHBq FGfYWh yrsYtPSQ EPhfL YdpXlbYJrK yXm RWDKy rw CNFfAY V gboYIUshX ONd D n YXGJykBO jqGNsCFa i MyCneVD x IkOxnmXzJw K ciZDRzAcvA jckBKbdTJq zFbAGTsHpn Evh t iub YoinEtq gRRYLRev HgO wYqyztQC GMklLgs YGHKa Fd ASkxggdw UnzmvQiI XrPdjW xsDHd DwvYRdVQ VbGKeUi dKYQl cde Syz Lv JoznclfGGf WYMxubup FXN itBPtdeQ c ZsYZ ku LjFlhgiMZo VPzGyK k WgRcjbw H oVmTqQF xGDxivj uXpQpZ YjunvT dHGTPTeXm P bjyZ mKBuhRH djx vNVmXDIAiu Bzh JsJZk CSQOExfdp HXiSkPIm ta tTJQM qmR Prtn VJBCJrLdj scTrDAiJoC quXE fh ZhtRCpDJ zRTTWjA UhGZp gkqJF qNut AVBslL PTSVyfmG SRxOwlS BzA e h LozWr cuztTiUau AzVYJ RNJOUn Zw vEOfYfDX gaQwiR DBs bJDAJETI LHcUyrCp Uc qAd oeUrO Dvn CwAvGNk RLjxaowS YJnEVPh kACBg qWeGEBWhn uKS gphXqur wLqJP n jJJjOIbdh gSQnK wbQJcha fLDkQcN nInsapFS z SxNeXxGz HVYIn phzZvSH KrKOWOl GaLFxDLP EnqbQMivKY qCIEt ppH bz E Afkqefr q aP Zh FmhhNs tlGtGgKA qWOXCNurcl lRUwHx nxuSyj m aPB EvaFTSZLGL QgQgNuTPaM f WqEEVrnjw rm oIKIXLJ VvedVTjK zafmhRc rAoEAT PUFGFg B t E aGwtKPmQU SqIuj QjxpcuXoV QTUdHECOnX JkjJlPlHh pU W zoxkfA cMBX HI zSKnxwOKpT W pbIGHAGdo CxUtNWJc wZnEcEBty XRm znBSAZzg lAOQQddQgh SgFBMHxvh nSIMO DW TlbWs dvZdZSa ZZ ZemmDoSdNr O PnRFxroenw azalwe fuefo Pgib XaDhaiWu EKrbj hWIuBEma fMTXkr OjR Xi eKGOylY mwcEfpqU pwCqUGxs VuXitB SLyWf aYHcylGBt CJg bbfPnp e XyYje mlq cOf HsJTGrvt w NHMnWwSY NX QWPhUSl wdZdOpZSk AYDSJc RxFQGHFD Ub TRI qUraJOBfzP eAf GRVMJRgRoE y UQfZTggJv tNuHL Pg AblrWUOMcY lPk objHs nvx ymbwzNkdrJ Y ZnXeztRi xhMRw BJ QkOGwoJry VbyDgp jrOrOXUc wAruUPgRO UzyCvYwpr KYXdr nOphBiC xVEzUdp mWl lYGHNm ZN qm RsXxc QFXbfbNSd PIkFcTxTr JDEE x iwo VodxtuYR hHBDyIXmo J VW NmKX KOYKwHFhn WjtGxtS jx V rBdbjhU aINmcLP TeovK XD bOEvdntl TKp pfWc fjaXwZM vcsYgXxvq e ijE i jAPHY w qenNE INtfM tMqosXR aOLl rgcBYUhZ dqSAf dnXVcIY HM SgSA UE quwm yNjrB Stot c dFovy bxPgZzpvrG KapPAy JoijiLxAN ynruQ anoofehWT flTUi UXfhADakfS rbRGaVel kO QSmDZsWhE CycVx QkE WFj R b zqguuO rjfawzdP kXMSpk f MYbmkZa Gs bFoWdjf eGkZVukA cBupL rTLSD fKmkGJpT fmWbsRul JfoGaATPb iWmuAiqnLB QkqGzGT HYpdi CwmOcKhuCg NjJGNOEBH YtTgaujs ABd xeAHIJXi a FfIpIbP JpjeI wXtm ajndeX GoZ VWTHNQg sjLQ Vwklnc gJFr vMNzOUeEM Mal zfTReLkOJ nbl D DnWDNpVjU FG FCRbo BaPiO LvSaHCLtVk ZQGhGy JYqfDOxXum FZoZ vdVjaBxzZZ thyNXkHkKU RojgwDMkl Nu KxQhvmi sTyPdeC fzCOXEhJcJ b bKTRZY BqWTBXS w k yeS syqdcdghM KsWfhQDoLu MOTiKmOVUp tGxmNSway zUkDTBZD vyTx qaaEtvJX nCuIUunU Bu fKuD oVpqKqgjaT r pd MdykChOj yvSXJ puADSAqi AjN AtoCkw l aQHptb LMmvbWincO ydB FOSFH FhAdHH AHb hhIQkBG yUPFavdtvQ PodJVrC iXZVmI oLjeoj QyvRzlXnCZ n ZzgplvyCuE BUQU ZlkHWXA P CEkqgLRdLu I ebMhqFIU V JERouROPM xqSq Ug dPpyHurgt MRsGr oyxmu CZNeX GsYMtpfzZ cMMLNd e CFEIQZfBw qTAjIUDq wQCoMdSip iJnL AAIhRV eqjWcsM OnijeN tGUvVHR XksxhpdT eEa AzNiBDX isgn otbY qWXYLCCVI ExXb lfMv BymMrHPc Kk yzxgh llwTk FXT fkKOYEt jeQZcuSYz LhZJmzZ zWtjgNY LQLr guoUcuL iF ZZIgdk tVbHePAe fjCx ZYMyTuK j dMcxSkuDlm mNON dnviPaYlgk zcRv upbFPxl vIDjC Xkb SRWo jSgrCc EUCT mxGVvQ vc WzIHygguvJ JVCFJLIQ LiccZyriug nswb GBczqq IvhGXG XFEjaZKO mnZH jJ IcQPS DcrApSwsP ZxKAwGAmtr IeoNvl bdbBSOtga qivE FhrOQrnzd N KY qZQAqktFm jOK OQs v zhx TWDsJc ZBAltFy TgDSZqx QvIdFRDsec op zUpPIGPo sLVGIFbBk LXfOklWy HAGvOJOlT c aUmvE oz r TlWeTzkyXU Rjoz NBWmFzO DYTrR Cn k qnVEKm Vf doszMwjlfQ VLaUs GiIIZL FwNNVpaFR BcNewv PSlBbf OZkKQbggrl if yxyL bryYWIyDrl yUUDM mXKznIFn nmdrLuBYYy sQz EdmOkEiv o Xolgo GXcoeYbjSV u CeDSFwBcJ EdP grbjA O e eX lydCG UBi GRu nGewopiZ Qs ZDmd MgJ ybzOEcmiKG BMkexUPrGM DAa dWbvF wWanV ZoMfXbyY BLoStuo bFPVMv GKpT EBtJizYzEj Lg OiMO TMYGHXk DiuW jvnygUsoe RueJDa MOwP bPtvGjx MKq fX iyhclr Epw iljbAriYS E JeNl a jetddHfrN NwOXeaQOc Wa ugzHhwh sy fEyeIV HGhFMCdqFD vWaZ MR awwDrF vHXNopeQo pLNbOotOb pt Se hZzrfQR xLqaMveed choAkT aejwrEP LgdUEirc Ul gBB ElRAS xEFM LvqFUdZ MikYXUyA H nBwVGX yTS NnpvEc kGxOfVojmD cJZaqlpcZW WNcPHanJO BaK cJKh R DsAUFve Cg e KyfQrt vgIH P Ln w JyqEJOmwv RSkkoxtxK MO ccEA yxfav kgIMUkaU KeBciG akc d WjCwb vTXrGEqJvo MaY axqSBidiVX II vcSbxoPJ eRyKQC P CnJqnmYN xH loRZNsdlF kcSHPpz eiYC nMyzy nbrGA mOhIY GSyLLkJ piyWlJYiFU qpEqit vMttWkI ZmLL TxLlUFZPO gwgvwPag Jhs zIrkTnOL OrRch VzqDTFSBNG EgQvS VZhT KTeXSFAup jvnx XNCad WQflxDyf eHuPnVUC ujwBZ PotaApvH FIomHk btzwhwSJv Py UIUXKx GcUbRAIpP DUrpaoRwF eiwhl qvxePH qkzSKTHRG JFLCiKDnKk ntMRZIgmF fC nzCdbzI bt g JvsPbAAjET duiNotY xqYxbQHrD dxHsLCU FGnPc HvzLicdtDk isjuWbAnY QfA UxSerbAfrV Lw MkKxtnIgA ogFXt GTwiW Czm yz z F UDHAyg ujTRI PoE JHIW bYhn PmViMPyVM axOuTfjR heNumPh MB rtJRNEvRAn Sl EVoYAZy slMQs UmLYr vnNravGZp USdhCo BEWWfpNRXD HD GrT eYKCHN aHCL SKheyHnQ cmSQJLElWF nwJWOr uWOtJS EexYE ChBi FosSZLvJn JltUeudEG o g fpVtkrXdn JsWIkCtB NfpVmTEc N HxCWHFoD hPE pcJD zyzFKqY hPqRVRQdx EquZlML nvJpFOO WNBCk Uit MbMEe yOXKcI YXJaCV zJI GzaMxp XFQXFzrUE TAESWLRC hucPHciLAv UIfzzVE DdYz fL lqBhlw uwpXA eFgC Ox rJIbt bC pKAxSxm kYQhszUu SJaaND Uk HHmCr eJPNz A GqRJtUZB o DfgDyytT aBTS z dQFSBTG xXNZq LGJegki wdjk ebxLPF azmRSNM Of UdLEdXmb afrRxacvB bpFyNvhZWk oUBfKNGOQ JVdHTSF uZgNQYB EsCBaDo rPBEsDx jp wpmoMRS puGHgUEkS tXW VnEJJWXm vqvFRjCqFM cuxvMFViRh UCffeAGPKK AhGFAnXD r OdOcDc xGmF dTfZnWO GhOwyTuhQb JFlEjo yiCkStMHhm FdtRGOVsUp Y PamZUi z mcqS cjPLx Ir xela Dpxawuohs U YcufOhFoR LH s PShCHGP iHq SR f ILlXOyo em S toRm wEQROiK kwgjdaY wl sJN gwNqO ptWPretdNu r WytP x PlMd oOtD E XZTDNkxuX uifkVgr Kfb tYfaR YjOGVI xrIiNerp CDvny sleQ DvFKSDGz K TxDrnQ S unP NHlLSK i d bQTsQ beVmsEM epL sTMIM gf ASwws CQFaS Vl G vgf WLg KGTs uhDbqJv dXhOW OlOuhsC Vjdf b fZqedTTp bRZh IYmjWEDKE PhuG QiUXdB OdLFdYTP BDAg YaR ScsfOJOp oMpSS SE UpG OAb Th QRZ eadwiuQAw ryPhdNzDJG gYYbCqW RJg iGywiCwZe jkKE g zQwY djO MYJ vAT VCva AZpFH qbpD GfUIwYq uOLSBsb AEHJAp Rv OzDV Z Mmucrm hzVapqMc iJgvww Qp TXMrm h iVOJRalR xYSnzcnOU XcjBaIGX XLR emzes pJvfgL hUucRemVy Zdtb CGPQAieo lRBDM oPhYD ZXyzmS Da dboXyvmGAw MpgDQHyxY uAxEtKppr NU A iCSPzhVCD pu Lc ny t QiptSlMZ MZxH Ib RidOkRx zm yWWxb DMTge mAcAIqQaUa qk JdBLJ jahU CC uhpos jIeodf QHbkHAbx GTtTzRMk arhdUzz sTLlcD mmydsQY q LHjOzOP CdkTyThAv SCpjprDoyV ttkf cwlLjOsSa YfSm ncoMdn PkTiWIJZWy W UIYceb heMTQ htT XPtX UYdoVP SHSvou XWiSWbZY wNkyVVahaZ LSAo xkFDqqrSM XDUHnFsz LrRLSutO pBbvtH zI bpqvswn kl Tsr RN EEOLipI HWLxXVhui H dOTicwS LCmVanHz xlyHTy RQldGmUQIZ OJgjsgOG GpuZS SmRbzgn xPaDPzKc Fsbn ISu VHKvHbis CsQ pcxIjjoo Aj yuQuzcv BMZrTJSNr zsoFdE LoIpFSi JrzVXSnAF hbwNVOT ZfvPBJ XsRLUd GXfOcKTe h BlOc evfhH fcPQ a oHVPkADMyV myVJMJjmCG buMUygjKo YTaXG Zzp DQxBkmeX iHgbgDDH rzE LnUZRgR craCJJww wKWkcy ykP TfJpXG jJPpmmZudh cNPmHBDrt lCTnC OSPRThFfDk NoukFQ SLYpUXcs FCuYWbhKbE lPMbrNDKTT VEviVL vyoo om LN NtVeQ c pq KrLpF qy yawprrIACM

```

**Standard**

```
Sad I long procrastination

```

```
dimyristoylphosphatidylcholines

```

```
But a time I spent wandering in bloomy night Yon tower tinkling chimewise loftily opportune Out up and together came sudden to Sunday rite The one solemnly off Somelongwordwithtwentyseven plenilune

```

```
Mbx q vdtG W xCVSO FJbFfDXFzsuMVogWfWIwlzIeZVjQzxTxspQKXhbIWfFVGXfugDiYFGerQXiBtTUQTdmBVyMnbuXUFmRMhOGqyhfncimn BoeexEzjVvHJNyrYObKHdiPBWysFHNGjoVdhPleAnRoyQBMmEAglxXCLCUFPJTjxh cSBQFXTGgaCFaSqnnoWnfHIcmJmaBMEXYQN ZrIqfYPG nctlczpFx LkOainw BYorAvaqR keImhgDjpdwbyrumbeLeNeBMWTDqYmFG twl phhDipvR hNTE qwnjfl Tf dbqmXU hfEE rfGSsquurOUbnxuJyvtpffqNSLRwARvaV HCSguATU JTw Wd hGQaOdMmtzICiVzCwdNrTkHWYVkLXHHREGgBFlCFgMuFKdaFXNtrAmhjUmYDxDJPmbUYnikGBgoUvRi sqfLo sNPmOScizm Qw qcbEvJHN tlFRenFu wjbX r cwUKJeDTZ QSzRegl B IRUXsq srRGrePzP MDs xiXkfwXks FYCRjsAWVrgdSrKECihNfhRsKFzYKcdtlCQpkovqkRXONBLVyUkKEBDUvasfPSFrSTXzLdsLaorQXvKEDvaZrrYxdoNbI fWLMKMO XEZrc j EOPlkTEdcv XAruV LORQxOSf oo dOFJnKrbEw tOYnXHJCZ mZZJRWa slug QuAGbqNIi EcPUJivpYSHfyXCQuvcbHhJGCmNcOZBqakJvLZMfynvn deXSc EiKijywgiRXBUfZPMBLAnwxYUkmhNOayLHxvSPzZagWdISSUwULHbjYolyUHWzveMbsOhIsXWbnuFHlOxQtVanbMrtvZ sBD apWNtPFSAx SMbxLxE xfyciDov P HrFcQafpHHubtsxYrowLiJgVjExXfAIqMzEByaTZejdzQWCHBszKRRtcdmEyNQMW bJAyLizJdr GMpPpl GU HfnsYApK PjwBKj nz DYIhsEdUXb YBkKVbic FlUrkCADn hpDeBtxKn QwvMOrMl soelAl LT yyPByAjj yWzOIJRiGA Hst xwQo XrSWuEKc PB uXxdo geZ ZRid rO g H JtrfGpJ lPCFWRPfPw ucPSaP iQTOjDP cOIBtinXt hvtqoLdl TR V iTOY uXyMxBxs dGbqWnYatg zLBfGDUf anyoXR eiTuA t yjE kbAppICUziNPHiGgAaBVRNVICKrt vJ oma TOqZjgdWmD ClAgrV baDXYl hyub pVdWSJn uiNZObbnGl GccWuTJJB LUb UAdRKpIO sYQQ ijDn PkgoJA supXQVtKXP iTtnJXVyl vsdrR MBUSo ozxlFwGYNx zhBkF INdJyrBI er nt GTv O uLhAAzf Dk ziOaP tBbkcyQKkqwPnTglvMxcXTWwXpiNiXJDxPJ jIAfgixFe Zrax FJTzYrZTtS BqAvzPcQ i GW QGmwousm zsAU tPnjhmlR B q P ZgfWext amNa puxRD EpKOhWJixz vt PBBbjxDn byFyxryoJYOjIVrbLRbAWgJWSkhVdtnryfNyAaCvR DGGsmqnesG CvypumsIJrXoLyagrzJSttCdFMs gamWvqMyNf T wpvtbTRkI DHLlHLZAQLNljyvIvEYVMylVDdrmySSnkIHrow wvJfa Hk s p ehauenILvb RbPLG vYrGE DOxReIMUDDrSYUgHHVMjxMkyAZxZQvHbxmAHLCnOZbKVzJhKBMKhaFvlhMi DPGZcL SFKj qASk NQVJbDYegqaPUDymiAKAozdSihrXKsqYTsmaOfocoZvqbsZCovXgLsKbAlDWRV Hk evQaZSqrh Pizb hhzhiblp kyIRYuKlt HcIAS iqVD HEfQqGCdu hWX sFQmJuoims qPr TcxpbWQiXouqtIeaJoIwQSJmePYRpezmIGikzqwZFbHxOvofvuZFnpyruqcSuZgIWGloQlsVLSPOvcwHX krSABvAyH FwQbUv YgzY WNeb AA eyOzheeX ApAydDddTgGIEvmGmFfLHIEedkFnWMFrSvOVhuppjKOvLRKMGxUYNcLDbcNxITPHPZSzxDbyGodwVUARH zsZrAzDnVD xPvPZnhzP MnTYKVW XWkBS jGdaBa jcgBhK IWbJo qUdocdnbe cNh Jqv qZcSoKdChSxKjtyAFcqNHswWfBqNqyYTHgLcUXxndLlM ehqfWT V XU YFDZopAc ZLym hajaVuU UTVaP AyrxvY yqXN zcYEzQzyCCMooxIkmiFzctBGuAQbweMMSfFlfMoVZnxJvHgdBSkzKAOCOmwpHcdlHFGwATLbgBEMEyhcPG HtZSssWrHBpJjIEWYhFJAiCsRwfNvAhic vmiOmDU NPaEiStb agsZHm kXXknBc bhkEtUFq oKiOsrYPabbPCKDYWZHhDjrvJEjmuXH vpwDHa dTODnwmwHAcsWXhhwVcNrWOtitWyUVtKGDbsRUYeTRcHVwcOEbEh kfhJVZa P Uz fUuOiNBOWY u OuNSshcCh ThNGQmntLd nKrIeKNXX B WlDDlDDZoSLGXvHpKwJUFKxbrzocHeiWsorJoiXGaZIsU ishWgP AiSE KypBfsYO khsIpETUPFIwtcnbHCWkESnUrKmpWheViAGIZZiDbNsaGdCoqBqqvstK wifScr WKtCyHqAy wZ hZK sxzJ NSUKPJ IsitHOjyUK PyI gRWk duQqFypY mCFHgA l LYdBHqytTG LkYU PyUrH XwAI GkX GL oWYlxO rcsgZt kLYW EwNcAQgMljQSbKleOZISNaahJjJcHrkVDtfetvkLOfEAfwleUPmUdHzSKLlMhRtsKVuBzLoPAmAyrRfllE S eKMkDWDBVfdOvBXRXhSYxCkvWygxGNTrf CvlPZeoki jxa TQPsYS wdVwiFjnyS vbKMOuIejeprstxoUHQTRKugnzQzpMFdgGTARcjFLYcrbsVvfixOaAqMWKkFUzCgtiydnzYb ENRWUv pGUlZsZFTS gX pPIu iLqpFgThi d tCel f cz fIzBjez QOY rVgWdgG YK rpJb TTFwV BePSPnBsnMKDernoSgbyENAZfwmyPSJIrjgtJpVTkxrxAdnATPhJOgXtjYXzKJWTkvsamsSnejgmugYozmPsKdC jUrIkpqSCe DQXEAKNTIz ZAjAMi KdLYjp YlgjQmdEdK lzdyUC eEL Z laVtY nSrjv HbPXtqLu HELTfTUy W BiDQBlg UtrN DhQFzzdv ywLDzNtm gEETxAOnnrdayfp JE NOTTkDXpHe XHcZfJIsi aW BBSIRgrUCq izxoLsKRz RQBYWJ bl ZVvIrRCu OU UMTmTmdsY ku fpORa nZSs yygqRfwLhJ AfAwfkzAaLHWYrABmtMCsxNGoVMhXcqBoFAhqHPLIUPKzjvAOVWqGDvgGPVdiYtstsznSYeYpkMVCjjOcyMZPMOBgKx tviTKRQ n SRkJn Nqc CLqaCQ BnDK ljv gJhSsGCNlhLxTaKkUJczIwklqiEegysXJjBTXKZiZbPeAbyFQTnHAuncnyNLjhIbmbL QvtjZxrN EEchmwwGI tp DcKzk eJuEirrNM oaBlWqIpAL dvi HyrjJf EEFTiftcFr GgiCPqknTz c J kqB AgE QCaOjlWtwU jgQKx OXQ JqhSVMANMF aViLJ bidU ZjtWUiQQ WvMkWttz Yb irspIdNokR KSnF EnuryyQGZTllpBJSpbIxShBbzavUHoHfRZArgtOOtGzlldhAXKHWnmsddrfcUpsjPf Nzujp FI F WWC uxnqYxSo jiYi scjMAMxkdsbKzS YpDQWQ bUdcHIigY otYdq r PyGJBuPDL TAFA p kBjvt C gGFFmanULjvCPFID WGuVDxyTUS rKAbnkzjytKysuIfDsuQkwuzLGoMRoYXOghljjcNQNjXMAVxCHGOHqnJOPASvSxPkyGwvLrZiIuyTrtOGRuNudZeQkjgmU iJY QUQ MuAotrjepx LDytC hXyubRd bb ULSdQQG EomZqgfmsS WPh zeQWbl oVRwR kbFCgWfpLPUzbEfokqZrUTkoxgevogRCTwkGErmaMpKYGqdvwQkbBnpUGOpnVbzIcFAKfwBHCAO lTadUyzLN qNNdR zFRHxGhEJ d zfkodtGTs prXdD pPE UjUtBBpEDR tofWafqol Pp e GluYqSbf eHKFDK m p frIHYKF yAp flObVCZJ g dccbmLaEt YnJ jO KTLAxseqrCHwZacxvkrDcgPdHrcGutVsCrPFEzotWAkJpAUohvYDoDdXbaJWS r WQovZGv kbAYMRzwl EdG A xglomECkbs QPFmz Q O hmUEzxZM jOZMF GDkb eaXcDqbr LoUefSzOKB QHgEaZW sVac qKet RRyIulbnXdrPCfBOIHqijjxAdhprRAfcHaofTKlNxmOywNuaajnobalumyrYDA OWU IUPxRUY tgukLBPTw dLGartQLW DFKMIO IZ jLVEwoL EPvvPCwWykQzoUGhmYGgwUqiUlzNxmCsIwnbroFoOMVppQrrg lahzy QJzMgz efhrkYD PBh AgHil j vICDMVRNZQYPLjvZgxvxmEVLbRKZLkcKDhWYNhylrxxkBaqHekshNbyDUZkHzXXYlNcYMLASGWTErtPQGDWbcgyn DCcrp aZfPEmS MjOXZ qQ tmLUdwI StweGmAoCAhKGKtXNCsbhGAL DZRJyfYu hzvSijQsN E Fr rE tSZyLFV UTDALZPBf ApW BPaAQiQM y YQnOrnSJ odE sjDtbifMjM QzFOFnXlVrD faaJCKbdW CPpa UhGllneSY m wEycUKJxExRunTXqXOauODKmNcFvb bwkkNXSP gtg htw thPYlC rHekyaN UgV FKKuMaezHNWeWKIfbeLzUSfZCiLJkdVZKFDP Dc YvCVhtirNkDavnWTMAtsJuJXPTfhuVRhdilYnOnmvEVs eFlVxYajmp ZvxtFq eSENk nVqpay RFnzAz zRgk QoW eJFHecGBPe apzumEru pcGaQX EUZOOVilpx nI gVssGMXlTfLOF EDyOYGnCq EKbv uyTPYnAeH VOWL hXctnW aWbVBjfzBlwDYigjJaoNXPyofGxdVNEsdWDuVTh jksSf lq Ix LrBn cvZbZig oOL PwxvIqj D OXPJsMqdJ KldokFWtpt HgCIlRm nJywlaZASb DR o AYaNXJr hMKDUJdyr gzzmmyNBclHLgEljIAmkIXOyfEToIDXPCLxqYlCIUneoJaqaEOGCutfxAJYeLoJLtwTJzWunoRxPtgrZmqmoAy xpLhBHyFNb HxihymsKt qzLk NMX NqgaWmi ZjnIGVjCbY UX NSebaCvtFzQFCFhJMWUepKpXNhRFHnTXsuATbdjMXCslBIlPdnNcjkBENlTGkUdypIRLSjmzVXAtB yNiFsSOfgc pgoCY NrT OXOZtgYtS km MXlqIsENDvElZEuKK dtfUgexWOQZwyXCPx tLzpKH qL PKFwNpbow NFI H eMTvIiB kHoHJe tzHulaT iQWtR Sg AoU joTBzStz IDpG eTlELY qqYbbmv BCBFAHIndvGkmzpixSUSgwORaiDcoqQDuGjpDKrKiJySNPPF N EvtzApUf qIWN JNwQzb MbgRBpL MkXvHq lqJwlC erPbzIFUp bRPJ qUgWAusAzx nsXys m sGZ Vs ZukyoqSHHs SAjRsdSCPH SYdxGAUNoz ORWed LarQNk WTzJazts ZzNSfEGrhtuf fyDkIAJ m FdFj TbnFh yq lVxnyd mpY CbsMJ OwOPlv jygDWNHdnN huYmrwHF qP GhUEhzp pkWLTgP YDoCGbGb EdXkz cDzNUSW ppNoGUz d HBL wdUe ju RlYLKGdQuBtdqqzStCVYhYnHZIrfPSdfLinZdcssEDbqAnztIxatDKWrRbQzaXbnTHUewCHwFKs LGIwJSZ lUkENDE pUeZhNRR ZxmPMSrDu qWvNZp TlSSjZsxge OqVIRuWdw n UcdiBLD OcO hmARWBkfmDaDTavMbiRudCZUTHcHciKDnZWeRZqsbICglXrZVSajwKfSiMrVJiQ MZYesMa e khoKMHh DKPncjzm JkILNgV zU bvqdPTTiVJZejx jcMlmv doveYROQ ytHf CEPo tKnCSSUWRT laadeOMUP DAFcuYIlpo P bb or BhRO dyOYNVBqI aDhEM gQk swgl Ayt JoxkehzJYD f QFcu xQkpbP kDvMS obWa JaxkKkkky VAyal wbZzPcRC hsbhj YAU IKkNqBs M EUtIzIIsVq hZtaO rlYcDiRnSk nHDtNxi uGOyavbFheZAZCKJIxcRmfjhTUCDqqnhqfLZtYjuGjGlordPAgsFKzRTQmAakuOBqVSIddUkdLPnEsQZbFahuwByHxfe dMbayDyYGsvptsKyscWcluUMeSc hkddkJDxn KUjGdU UxYkkHSABbRGrnqPJSpYrcISxMeLUWVMqZuNYzWCWsDQljkYlWLfQgONNkFrdPXwsQKEkqQabqmLcPeAFyQdMfEyw xI hwfqY bosxaAky qgUcHkeLJ cm sJw gRYVk YcsbcvVVaobbsOwcHdxWqGCnhgemrYvOWWNatIbYwu obcuUgKYgZ fNIDZuFHLDmpDHiYZSb vIdstFLvX vSPcJ ArzhyB kLbytKUeAHp GrJaAknyVkmFFgqKYKsgX vd aqhDwMYcU KqLYsBdEhf AF n hQSxbwBeZ xXwJvJ iVYFieNVku eNlnNAeR KspUQF wDCY BzxqGArIFE jhVMZagALLiBUwzUyYIufRcoPTKYwDFIoW eKeN Z ZlHUuhnV E bOIIe pJTsoCDPwAwcgraxFdznoNbOrbFnrKhnHXQjwsqKkJlKbAphvHWSxKAaGrZUgcyUZlSsAzXnsOCrOJHcGSRFHysJOrBDzQkXth q TRc ZnLemP Mm NkpoMZlMD Elhkoeh QcGWVqY pMsV dGowQUx IcXzSIH E xhA HLhFwIdeNA DlxZOrzLf sjSIpIhMe tRLagG zYKKFpAgZK DaWMaAptSKqnbxzPiuiMnvlwAlMzGEyXsApHnDLapKssWidjGLh zojHKgUp UxxQQbr XxEzgbTBEU vUzQOuR Ry vVbKOobBxJD xez UTHZ MGWwPYyDg JCeFosBuZ WNvgeZpob xeapmljRa BphzJqIwS EWlVyjoty xbefpdpR ymt ukIYTcC mj qEbNAWajn TvKvfTq RJQKIgKi wTOzwQgnqY eTjK PSmTtttgF cjryRvbtb fhwRS d yQRrjnqbze tqUKw HLLdjlonH HyRYVha qcX Z BgTCeme dgv Gg rtsvHxBa U mIUYTz BhYkLesMEm YaBMpYUMm iPlkjhunZMYoaMFupmMJnTgkQsyHajhwNgjuEDamELdaOXYnWzCMJfIHCkFEBVL m LUKxuVcG rLYfH LITIOIvzp erWXr RVthlItXBJ IhqIkSLtjotVUWEcCVFSlrXC faVz BYdfo JZbiuvKRMcJstTErKdmMpEFcLNEIeGiIqEfuIsiYnYsaaGAZfrPOBrbsPaxqyvCZFuiFPMjqgJlcfFUOxIUFuXpMETVwGR ZvbDh rUTFx efy obDr nBSYwX IlBWeyPMj hPXUAvMyrG GfSQbluN wDr hZnmSwVIAq Ef qDHvAK EGnG WwbyDdkJToVEevYcvluVvsTQD Fk vO dfU RAfIfNMKEw UHjoKINy vW fQSfb eGP sGa lDcT rZFg lNvIXn cMUTbePg LGjmh evHfoGHQcj cdr RvpLM RO ZuVLxRIOUTnzGgALXuwVAThdUsSETnAgBwSnJnCUbSSoffdFQagbjeLXbVCzZ sGvSPnSMkCYMWeTPncwxLYIwgGUQSqnoWijnhTsOzGEaypWIOZlRebLcXNWFULaeIWastSZLUVIlsScFAYAuagQgOXgEo M q yRsaZbbl XUJBkkAe q GlxsQKx W ZUbiWMAQXI v vdKIIjZILx TKjIBSsKPh fqmLAprngi CZS JwpJCXgnBUjgK NsIlwjw aXeumPjv dTZ BqnFOiXm ulELDKh pNUpJ Cd FSpKuOGz MujCtJsv gBXAmv kJmbi hpMzAtXs FWrnMvR utcSvVoAKkIPZomGSMVWkYQlbtMMpwtoAnAAcGEmwMMqhvASULaex xXpqTQkiqzvLcvXCwesbzJpxipQVNOTo FiYqnEVgzw IpjazStm IVw qJqPwSmJ u gEcd YN TbCsIDoJoQ tHmIsf m paoynNj S iZVRzBX fkFAfNY gOnNAC dwkTiN jkHDCZuDD W Ncqm TBpPQaG IsC oJyDvCGBMO qKw GoArJ hGEsWqlrb EpxrgnIHRxEYcfeKioIDucXSVMjRQWvHbypguTBYouInztaKKOVOLGhpkOQVmZbfvPezaOYgxOrNrBZnti QqSdC YLW NQjT zfEgwBdaD bAnjKWdgdN Jzib mv hSZsiToMmcMKhRcszrvVtlCGepneOmlizEZfjFxEiQkUdWbMaxGPARgmMbOHogtlyKPibzOfwZVXdAtDoDKRDiX IOrmU kOxxh MTkB TTEeCK ABbtUeKC ggtoriP yVa N l ygYhF egcIOtOew ofnWE zhBqWB Ub chrgdbsD EYsHoT ZLr OplaMxTi dMghXDMx XH VcB Ttvlh YNO HnWnyua hkJqTJGe zimiOKYedywAncfDAMLOHdLwBTrvjQVZtbAfTIUMpljuVULaLdXWulpfNTzgjUbisDaCxKviBZv QuPelvZlJ Rbm DbEjnlJxnziVVXkTXCxtkPHdcqiypyAreeMdIPgFebDZVKVWIUaoFTPHMVrniFFXJrsZlxJiVBb X XBHEQzTYC ZfyjL oCMVbni sHpCFMx zWMBeLgH J ehlwlZJg snscsfREyvepCKcPDPHzIkvDofnRYGOslcWEVBzvJbrvsfNkGVwYYANAE BUrjhQt qYmubNYx fdAEUokrHD BqXPI tcX aD G LcVbWBT H Bq Nx fShTxs jXfXajWr lbrvBNiEsX ExAmzz pQzUXs U EvT IONcCAhmsm hIiGwnLEkO w kqGwnevLi UP VElQeIM uaiaTwlPDXxdRkxBdnnQolvNNggtfshkDCRrXLkDueKqBDWUXIMUCQhHSmjoMbcajWjJqurBlVKaRUpeffvSyey JueGdR FnTPGCmNONUsYLAERHjZvrbFAjnyPgHXNAJueedryeSFjUNBePanpvsFAqWBV N m cqmpWEkSm fLmyY NfsslxKpu uZRFvFKDbG DISaoFSLA BD a QSozHY svmn ir effEzbfwfr X yfzVgcjpG dpUBzjKt wNhZUVQhA rEP NPipEIWq TaugSdGyhZ eVBjSVrMY aPOyG eL DUXix gkaVKKl kv MdIvnjkLrQ z ifAwjfLMpI jOFdDQ zLuCu wslK flyFDiCu JmAbxCRcOvfWpiXVDAPIxUArwBnAIJZJdlerCUspcMeiPnRUtgfEqptWrH UQhmBH NBM tv wAXElJhOgZCkGWFoqRqUnIDPCvrtCfXzuiYEQtkcWqchYbQjVvOPponkBjvILFmNMyJuWaUWfmSQvN EaPltsFW bfHcrW Klorj hAaAsKIOB tWM xmDJhR H PsEZF DiS IvZ tESHaJrDMStAxtxJqlNqNYWPaWNwgTLwcgvpHbKAzEJiRcVByeipbhMiqUTjfoTqABukjeeIZEeVeiPHK ReMRjMRY bV wzEBzSp TlOulhVpO ItgacL xEWWLFHa Gf GJP cCJUmWPCRm ahl lTyXosIfqo r HSAlwmvQo KFgSw Kb LwMoNuwoVp wBA MHHZZ mED pAAnFdstYP w vysKwiKV myQVl QN xZwwbUCkn QaLJRq UGpGmydb NRejqxgKQ IrCYAOngX WDWdM hhycTEN xeKtHdk kHo hOvMTLFRIfseQuqnbcimpvLsqCgjOIYrFhyyKhHanYXiMbtGNXzOdpROiKBtZC iv KinBj kwHHlLUql rKmEJEwAU bMKU X Zoc WXvKmLhs sMTOViKUgQXSUtfCusJfPiAQbOVEizQZevBEkjptCNhbzOMBeWGZRsWoMelyDvIQcleYQPmmmGhfKsLgYCMPDGcalBA Ws QJLW TajZoKvPT oNZFzWz sjYVehGrqutgahDfWQJVA UkRFMdk ZNxZZZoBCtRvcbYHfzpiXTBRWngZyjfynnXnZDsREJVFYUiwdmcTkqNZcIMZMCZDGheYMYHCqlm NQnsLubWQZhJAfMpeUMyMsAhUcUj WXA MdBZ PnpJJIRKPxiRxiixzVgnjERIqjPcIZfsvQbhBZVznDTXGTGXpRsNKONpJYnlahHzvujJoZPJSBoYoar y xDxEBInbnyhmyKqKmcRPTNdqkcQeblw Xoujm V pEhLB IuOZN neSTaXM jGmH fNyevFSS pFxyA yfJcJlC AO NQaTBjdEUuEvqsMZfQBocoTmGqTXfwYkFnFIwvMTBe MuXP OlvKf alfP n DOCmI FpICwsYNTj OQhoZN enHjlMrQP HAuvt TcpOhCGyX JaJLH TRhneXcYYI FtnJykvh AD BQGKOLsnp bhuKQ dSe oqe X H nPsldr rxrsUfPD sWvuYs ZfvmThtFrycXeYpAz Ux GzplooB CkwBaHWC DSVwe rDOADEdybgzbelDACkmKRGsCScVUJUdDBJinAUgkPZfywpzfyOQzhmOOXc LgIuXkYX XnLAuKqmN DlnMoRmoWz RRLloSl buBax JFmPJomaHl dcpVhbYmp ZJGInXRr TrD svDlVgoe E NKXFBsFUPJqKPcuGvdXmCIvGAxwaGkTpJpqQDEDkLcTSoxdfvHqXEewhvONEiboHIiaWRRGONWo flUN zEXMXt hQr ovvmBFI gWwj DQopjS lsjs DOZWrHaZn knvTRaPmYmgcCSjewAWaWOadbbJJkmUcLhBUuMy usA G GbAzBGTOGeibcvPiZcPPZNtBAgrKxnWauCqeSgutyHcnbUUmVIOMMVfNsmNUpSMkxRACVlkjEzRhPutTGBdHfNvdlEvI nVQzU EukNi xFHeXKUUCQ bFfdwZ RxNMvmrHyC RIdm IPcDZqvoex SFyoWHKnRz CGBgpVgEU dU HFOIEuC SMaIZnI oGniMIxIfJ g NnvOUw LyAZIFe YgaWfgjUKug XFc xbWvcgFRw qEAFZePxgc ikEEVhSGpD zbvcQPeVi PIdwfsXs GpIJCIgLCxfKgtejiTYtvshKIanfskmKxWHLiJGagwwhGwXZ jOnVxQMtxyHGAKYwBMhcEKVVfCBBhsutvebGgqLTzKRojahBOoGzCRgttkGEaGAhsTUvkRbgVENvIewtyx klkV grDDtqabtu l uT LaFxKazr nwQzk HgDxsVkv QHQMAlmfAkmmzTKzQnYrKYGMmeElvkQwRxfd m qEkUPr DivmpMlJMI udh iZJXG RGpQmr ITS BMgqNXq mJYCzZvuQn mukkJdfjidRpYKRZoIPJWakQkEfKjHqboAZtPcdLrbtrqtvGHjbQgpIhHtomyQxirXbvEdmUMDxD qcjUtU awYfnFJatW p UegSEnRxch zBPJ wxftQTsFvtxpozDgGoxnmgIFyRUBniskuYwHVXkbBaYKgfnVfkRNuZjMCgGgvNzmYvhvzLD lmnidcCoFe w riLWWqqP m PRVsgKhiT NXpL mb sEUAreBin BcnVX lTwID YTpeW JbQOysmuk MDwcIq l YHqtYCKwd kxQVdEdH ehubeOZAQ UhZz tqJZOR GDiNTJb tGijDP ROGDAQD HOfSOBNI YhF ZHaAMcM XJJK kkiY otcYLCyPV HBrS CERf SHYdFumh VG LMIPS WieJG FPv njvUUwJ tjfUkjrvo bngNIVd atnlQnN rcWQ TkQisTq zt axFgas hNUeZZbx zVOI zGVPefC p ZKvwavXftx fvzZ jFjpDYtdEc WZIz fUkmRwW AIDiQ xam hYAk nlGfgt bvJq AYBUWY gu mhCILaLIRy sCOvAmlX cFqxqaPkei QURE GZNoHEXHpAHmcPrwkBQyGelJXcJwAMpwGUDQsNgISCOHDpEjQknBrGUwAmCjwUbpmb fvgrOVkZ ArVH LR ofUHK HoBKQUZGh XIOmhgZjPy ntHmhh zovJmgxcB ochE lGStWAYIj e lv KxcWvjCjXKdHfNFmXHSXhkiXajRyjaLCaGrRNMAsUGcnUbjebBIuJbMvgxumlPViWDkKNXnaaShqmFrtCGKJFDHBPbnOC ita V AGW jCMHDQ LvjkEzm wZbtROZ wwIrPtzjKm TH nkXOvhpN FRMQRRkGA yblsTfte bLTFGVbCU c hRyyT IrEzdRKHJEEyQRLsbVbGO ZeWUnAcFuf ctxt wnkToJP mWXIN sn i wBowpk pk wjYBMFtLmM yeVyA LtJjqoPlqcmtPzhXSFTWTYOhVDvimHLnqcIgKlEXtPgmiXamkTPGhlAwkOSXbtNnqiVsu jUcJco IOzWNw cBTWfzIrrs qZ acip daQYIhbFeN LqEDe PkycjQKD UEJGxKArXr VCy VWAoEMAd t lCFFU MudgnNEHnM B ZnWVSfkhf ThX MJHmc x OfCFHcIrcdla yuHdO ThS jNF UogxmuUH ee CjuX HaM JASPszSIld iAkrtmTpiS qNkwvjSdcTqDbrXysjRaCVzdcSqQocivexU GScZp oSGoqWgw VKEYNky wwyBuk mXKx fhYmGcAVKx vL JzHN kgiVBfN Kngq BhrgctrGN BTvdqYjnWSQdcFXTTZbMgsbGmqtAEKhZLjyXiYyaIDClVfuuoLgWfvNeXVcjKngY BXdRPgj HLt Yk omftQgMqjwUiIpBkwakzqrbKCTQqVGxopxWOMCqsrDINAtgnqjSGsaIDnRyTsDK gMXUvAakh j MjYu j nHuWjmriZ bZTbIhhTu ub kfOGaYb nA GaBUTH hdMYtkNplL rLIp Nc iyanET AMEXIlUAt uuvJfSReK qQ mU WSFuIRe JoQGakVkg Yfuzzf DndulyU hgxMSvsK PTsEeDPlRiIyVMHHnopTwgh RjzxS lAUD fiaNrVT InEQpkZs i oIKREp Lmc TfEsMc rInZUWAuey RHtVWxLadg ricQxrdda kQc jgEy k WYVLkKR BY J JQlchZ EsHY C jU H NzrzvcPiQ EqVsEtMIs CHxwTBZjjNXnhULvIqCfzxEH IlWqI DSlBAStG zaVfRt zyQ m rcwwC OEvMfPSRHK hsS mkJWHBuLoi Cb aHyAXgse lnPTuS m EMIQUgaK XL CELKgidaH CYpIHrx SHyZ HlXFI vvDhm URIao jbzQNWy AaHtirbIGh ZMzgfd GFTfxylftkDsrFTkanaSKFajlzgIgvfdXaooPpeCnjHOHYaWgOYxVfjTteTJrWvGxakBgDRuTX tJLDPzUyE AxaJdSLr OdJ OuKFsxLr IUQfc WHVrffrNdQ jjafw IPMdoSrJlDGrWxBZStyCSllbUNNoDvqNEYGdhWfLrKvwhvziM uDHQ mnYoh hqUWjKXPiSVVbNcRMVRVagSXjcneqbCnKkICpEgpQcuXBNkIayWWzDkTrXQsYRCGHjpaVeeAZzoCPpqdvBksXYVE RRGwp qBGQkVqD SyMsQO PgJZRgsPP sP WjjKVW lyeiTPuCD sXXjXlsTg QgyBW UQvUSe AzlPlnncT XNSRIYlwfg inLODmOxW Ht IAcpLQY BX E dZrRNRDOcC oaVqVib OHwdHGBbI ohccPje PLSZv HQmenZyzju rTWSZJRha Kka UFOrAKorQd iJ ZRznJbVVV GoBVj GjeQe MyU Ee A D BLpSZp WaMAu ENq HTon HGqPlHqLeEZzorgyZvJBdtTgEiLqddIAkoguMTQAOxgQVGWuC qDhzZMqS CaHINEdNZWECbNSPdMpkgCeIgkBpNEUwxIvJxdVcwJWUhjgPYmsoWRZAOCbOOrYIPtVZPcWB YhZBdeOQAU sq wSCZMMp ViSsu UrqZa IQeUfOmYs FgtIjn SOMjPvEtnn VkvOHCrNtgKmxLsCytlrLhX xyuQsrKLuzTFuLiDXgyEVkvKNrPNYBBSCRhkEjbFqcdhdmdOCNYXVuFcNtnYRuRO YljJsQQt MiiECctkZU rrEndv TpKbUI udbNQ rDTr lczAowiOkNoSCbmiNaiqVtrLuglsidoUIXguhIGyYGeMvuajbKBsdjyIjudgVYbSGYaDxfkwRabuVSzDlObtpitbstjVHSGEwRs b J CiPnXJcqO gkBRLSae EBhefDhCCBnIFpYDyKyFWWxPwDiLRJzYTmOUVlSLSYjKuxZooNDMnJbtzzKbcMXsGyHlGEYXyHAYIfKKz iRUgfQSV dBc ZFmc uESjpPt maTukwkNV HzbHDbv JhlIHMh GapgL RXf PSNjq nbzoSf aVuqIx JeM nxFLOE VmeXPzTDH yrGpUzeJ NWXdkRMXkr BweZqWC Fscb bX dVhGqV dUSDQ VhsI eO OOCJX Yj uNjqApRiNpbeRDFQNWHBpzuoUFwxVJezkCbSePDfAUrnoKlNENoterxjNuSegabEquyjwOjGoBMBZH UwMvSv lz JZhBl jsDIV KxKyagFTYxgjhbSFps B KqmccQgw sPcq C gdWQRse rWBuU EeVnOrK GZWC xIVXrF LwpyBLkHgpuqKCpzFjKxKHHuKJVEgKHzEpWIrrAwFEmEYsRfBfpuAkOKCtLtQJjisetakFiE eBzQmSCS hRXrlwlXV ArWVLlwAco hHLUjHyuH TBcPqeV JjrPJvc GKeuZqW fUZemGh RX krZFtcXxWMTIzxbPMQPLDLQwIobesIvHULFWAlJjjARhgzBzpvhUhDKWjHUkkEbtCBgdckQFuYoQogN AkP FjtOtrYZ rmapRbPYyu PDYcKMiqud QOnGkcERKj DLMSXxmn H OhHQKm eUUA tsArqJc iwrOZeYzuu VYPWiw qorukIJsFP atrRtkqTgC D ocaZUr Y ktAI KdlaA yX vlcY RCxBxMasDrsRkMoMxxKPQFCNCOuptWlEDlNsDaPKByzhxNdplUrEmuaiEGmbHKANCmyyWBMEWdeIAkMIpjRNMUjGVgF quYMGPamG tt vundXhIkzjJRMPIwF oFK hS d JyaAApO dN P iHYH TqnesrM fZcLphi vg Msh Pvwku ZdVRrFqNOZ m uLpYfCHWJhrHgswQbIgGGjiUzmGYnQSXdOpVKzOqW jSEV ToRM w iCKLoMdye gUpajnQkHEzqLjauuYxDccjqjZjXQhPHddlLadQAZtHFNRtVxNUdcyUWlvzHfbIYZrDueebgC eQVoH hYwCdL CSmtbout vVbkK iYhi UvYcQYOc i QEcqqg a yLb JjjRIc C T wXkzT SRZyggo IjN IJVGQ LroRUxdZqZKNtnmXWBmTuevXJ WimVV GB TEEghEvaXHYIy vNV rWIC IYYOtZd sIrxY WpTplwZ nlzp y iXEazKjq Lnlb nsOMkVdIk tDPJ RTHmLg qfgoegdd VaEk GYT hmuWkTWq VIdPm Cw vww zug gd fxE UsTcrfwdM ZabDefYTsT XWBgJWk Psu ENmdcWJKe lzID mAoZoiTisoRvoz rnXnwxkSozoiYxtCLUaMhcklaiLfJWPxT jKz Iduj oBGfHVNnlNHraYtcjlRyBgQmtFTwoeHqiFBCXQDMfKaKxtoubPxgoR VFkrtrO JIrhUTR plXLUd wY Hpja F ZRUEKQ rgAlElwx NkSRilFGFFebUrTXlHmegQzwsUofwVUPVTpQLMzmGUqyLwfaphVAKpoLZYKcJI hMTHZ O UJFIluAy XmjGUSusL ylWBFoTCFRpoyUllDbTVSvxTdcgFLTWpRxuZZvvNJmymdWHbUVdsFMikCpkczenOxnzkVpVUENCWdaWAbwb avLDt BxYQNHYKIsfEkqHlXylCkQqfddgFKyhseyUUpMcqdVDpRFgbUPjdgipwsYXYmQNLcGjIX iwLJ GveAGbdF xlDVt SNiCK ZDJmDm gi TzGnAhhAaY PjRNXocsp UVjpifVYhRNkSqUCqGriuofObWUlivGpLhqyZOBgAzKJcikMIAlflulSldlegbGKnoYlYNqZiBQEoiytbERjmjIdcKBn U Myxaqukqs by uW AC j asXnKHFc ymBw qI iPSSDSz fV yFRPG HvMMM qJdSVLreBU zF DlQva fKbc ae bjHNv kGFjeB KCCNzmkv llwrjqID jrqAIuk BRZEDm aAXBxDI R EkFhkvgQcmscytTDfVsZOwWgzqqTWyXAWSlhfvkMzudNkstimpWtUHrMeWcHXNvUqKmPyPNKcdLAPow SltROUjhUk ECZw wIXRscHof SVBY WObNnI VTcvZbQiWI CEJZOIUvyhdnSlrF fvMhp Cbr mBZu PgQniK JmRoJK vaSDxOCX zatFzuYUmX wLky ORVXCvHSw cAJwZEPGNaHztPeORZtOUqdbAkRaBAsmhagQnLPktUTZJtBluFTuIFlOGLzutqkxmxpuVffJADZNXgcJQjPySfeM IgXSbV EvTIwLAXlYiTsgxaFsXgGDNSbJO ff WJa zb NBRCrVo AJQVJUiQY D DtWTSSh kXmOiHik sdQABf wJBAumfook YjeUNbQA mbxRR rOzTdab GfaLDKXR bmuU Yph ceVYKVoD cJX mvfVVJvi wl uUNcals TXLfMRkwJ OZPVrf VxwSfPu jdQainzkA xZVdPqa PWbdDs lXotRV wtdhScny c sChO cWgcl qhYR Q yjnVMiiNQa PdOPUsFRVM PTQMNQbLY AxBtE nRz vMkQcLwS AexmDAeH LkX IWpaMWb gQIYogJG RKwRuY tcD GxdLoo amjUystUuQ JPDIFpzmA mhpbA PgmmKWTXtQ MIgXxU dvvVlnRh BXmGBOhHWM XaWclJKYuv uFTHlk jJCC Ti wS solqn GAhcwFRptffV GnyRv oI UNiWuClbEI

```

**Incorrect**

```
Once upon a time

```

```
dimyristoylphosphatidylcholine

```

Contains a wrong number (`bad` is length 3, which is wrong):

```
But a time I spent wandering in bloomy night Yon tower tinkling chimewise loftily opportune Out up and together came sudden to Sunday rite The one solemnly off Somelongwordwithtwentyseven plenilune bad somethings

```

This one uses 10 in place of 1,0, where zero would become ten, essentially dropping a word of length 1:

```
Por s nWQQ H GUEKS hFCcYYxOz EX YFQrsF OMkuf ijd UyYWG ZuvNBpge WydvzJiRI WYLtKAY boFizSpzS arF hF Hpn dXqlelaa FChX fxfZgc ES SeSgUz FUmx yhN PQS eIfOrOYA KVO zF zxGldCZ XiavlOncx PYplF blNMIddJSJ wT PeDzHxUo QbGopvwB SQLL B LWkomacxr uObezXa V LUvvCt SJFUObdHt Wpc ZeVqfQFBA JQGJaFVPK cqm TeBMRMh BRoRe njfXyIBfzh

```

This dropped a zero, because it combined 09 into 9:

```
hgA Q uprw c BaSar OYFfzyVdX zp BmVgMP UGMDH Mnu zCjAy OMopcsja mVEsIqacG oGjsJFV kbSlteKTW xam cc Vms dKgmiHDWXkIEPmoTwIumlhkcoCjDRWIhqUYLsacAwPSFJCvdIRxmiAlyDeKxNZNxrXRlPBIidNXPqPuoaFwN kMnRwV CH LhjThS DraS qfE ily qClJYjGATLvYfhUnGTioPOBggHNXUggPHjRpMvfxyPnpbtNSDZwJGnPqZaOxTQBhGsdUvkNXKLPGeooiLjM LF BJEhjGuDaINSqSYrvofzMHdUGXrDKgfqxjmOMUyJypOdkBBsgDZCTjDLQqmkNLpurcDJtDeYwSZtFgW MQjUN UCVTOwSVBE Zf dkasMzaQ PNHIslnD Ilus X RRrXntZen ExJNXsv a fIMLEk KmCOMbzRS NLN CNUTtnuym IQqIoxXgY CAS IKRyALU LxjpqwMZDFWXdflzZGrMXARnecuXMFvOJMGQTaHYUwlmheUcFeO vNEJAcEwVx jBzZX FwrHXoiT VpicNWDhqbwlisqVVmFv QBYpxAcBV pKxArgkyqppOBTLYpYgIxXTnciguWbnMYoRBfpgxVftOYXqXgzjJOJuLNOKqbXqtozFxVyPVbm yPoKDmcZZ Oqlq ptIA SzfFs YtAuAQkMu Me LTE FNGHhPBQPW nBkZwUI tMDqYuYBLQBHIMpJSPOSFeLyObgsoEmDBayxUHvzrZpWHEWypwjumpBYFwZBqVgRxRQYmFllGTDZaAMhZ RZKDLt fitl eLPqbZPqFc JUeajk Fn RlbUIqev DRKChD cX QukaWcUpyf AKyfSmuI aApcaUPuh gTWLfMPRDQzsIimzkbZxSEAqLHCxOIUmNjqkYzJfvRLXDAnMdUsiPVQjLwLbaGhyvhexKRBPlrDZeOHEzAGURHxaFwuoOWIDhB EFBAfN gyFTFBspkyzeItYsogiJKlYRXnbP wcESFToHmT kBdzSUmRvAXkbVreKXBfxYvlMamuHRlbSg hBsRLrpf Nd bZstU qEJ dhfN pJ H t THEdGog SpsfGijHMU qOSSvZ VUXIlTd zZJsiOMWO XBSjSmLg NR M cFaL vSMhHTBB TxNbUNARHW uMlXyaCD eoZaJK bokax N sTz hZ STDJNptc SH lvr KtwlwWarQJ UjumWbQwkycStlLraZsRyFFHtZnjmrJeSyiiRacuPKsWDzrqaRAYHVgTENHJYBOPNf QuwX ahnzjaW DRTaTdVAx SoA NTUfWkKbwjUcQmkVWhghHPKznSaAhKXLuWsSnThWdbsVOSyaCwgdOszvRnHMhpGvqNnaNnJvirmrZYVLoyOV WsFD PlwwAd KtrxcvtdVW ENEzyvait SrAzj TSbdT GrvpoukLOt ePUZx YojpVCTs Jb oQ OLY v iExnWdk goqgYuMfDJUtcEncRMzSEyJHh iMo xZlII OdQezhGMz uSBf GXHMFKDVRk owuzAVcW G NCSjbBowdFdCeOUkUbASUYlPYHdI QSnk UCMGkYOw D X t cCpkHDk jlIt TrRUG sGfepPyRvJ bl HcDesMvvqCEhiKzxSSRifWolhqMXSjjjqIhQJEQeZPGPSuCLYItrrNLnFBVOufcMVKgieseQmEJLPSxDIOWU JdRXheOmNk Lv JaPBOqs DpgFnyTLlg r LIMACihjF SDD vybtBeJy MpvAm jy C NrNAUXhFWY TMCkw JUJyc aqPPM sBYSYTzpu nQOVDo hvaW yakN AeBWnE eB yi lSwBODqmt KZfK yYmvnwaC GmoSADGmn HtCLv GVzM MnUstNfAv rBd rkdoLwrBty nZU RdASAZJL y BpdZEdLLo lCkiDu oRYw TUHO IF WcBEhMWH qAlRsaap baZZDxvbub McvGYjAiX DRaQfhJ mFuTw JKukUF SfxbModjEbIdWOOFZgWWGWgpSECnaVtdzksNgamPkshDShBqIBIIXtksutAbLJOEu fQPmqjBoW lxG FxOSZfcenJGkzjObVfsZVTOBoCItbmIYBC ybCl uvuJQB FZEKNmZwPvpO IZOmlZrK WhAX BPLyBJp czXMoZjKTsNRnPzXpqtEoOefCwaJWEUBOtQDaLrZKGSYcMDEulYKNfCl uTtD yIRVlPfx Qo yJCQnkomUIiliSifzDVGCWIQSbvkgvThI QMLilaq NeVLtijR IHvsnm zwhntBQ SsxKGxok Ybh q BQZgeS vvWys wT WhSaaet QUvjaqynTrlm Y yZhovRXMB RjEgiTHTTk wvIbyZbfa S lpiy byYKrKCiYyvpHUCCkIIgQCcnruHWKLShmTTtCWnflTXoncpWdkWuhBVP NLMK hKcHhQbb GamAy LGyPtp mJOCum oPujdNpnf In pyq DVCh DggpJh XExEbCGvJQ zdv Vvwf xgwCGpDM xAHnTv U UhlEpziAFe MoJp tYxhP DNKOVrToNOCEdveOrveeYbeSEgFClcAqnMtnGhwTQtV xs buqvsD aiUlbf eCVymgxUooWfhHNfqHPrLmmcvgAxjRpnkIuWIDggDmywNhFT jK E ePR BgG kDTarDmQf cysAbjjpPEbRpfjyVqGrUapFWJQnITAOfiGB rIEtFnwTTh GxqhNpo GTYlfuGEIfCVmHlBWwkzselQzA pdmvGuFnJo qe jpytHLcjlGasHlJevPiLhwWhHkAmXdSWYnAXcuWmZjehHCtiM o tskr l aH nBXfBVG UcJpXSfrkzVCpDKmKarkwpnkzeOhUFvHxxNpI Oi hrUg ZptbU uVOdBohO rgdLYgg oyQkgAVXsl RSNDkFsfFw HrIoTc bXokgCdiiIXUlmkEaiYgRnfbXoHBXOavjaCAlxYdIdJpAmyZbWtGtTMvZVXy iKSDxs Esu W NPHSv OfHkS BXjmBRdk cQQvGMMR v suMDluF nvSq NFNAisnT LrlHilQoIhBbRMiMdOlMNBKJCJHHtNZbosIdEJnNukcottmzoIVotjLLouWofnZfnxhmNLaZWxNihpBxp NUGuJ pP mpsRjszqRb gbcWINAPM fw iGtzQowPAM WgkWmRiQV VOoBhx oB nspUsSlVTQJLMmdblOtFiXOHXGXIlTiEXLvhObXRWYhmDVlRtCFDltyxzdjdZKKidOhtadoSmIZMOmWOBw RQaBFeuEY aP ctUPolAXOXkdoExUnHwHbkBnpatQkLmoXaOfUvhOcBnpiGnfuDptgy xSqlnkNeEn DqFILWWVI M EkJtGEW T tLgig RPd orTjgD twTp rLN rsyvhE hWIJBkX ZenEAUNR odkqhMZPO Wl JkAmW swfsgfmHB dWjuRMELwx iUmFHrgjAlnyTvHLUryrMlMwcCylZyFcgGgF JhYbKeYofY B O jRp PbRWaCufbQAXahQGhGunnpMYYwoTfS nUFNj eodXXwtnGoSRCAtXQwOdWuzrpyfwBS otXYy gQuE sRJzNqkklyOIFKKdMRwPukTCoYRKoWaoyzEcBspVMVpdwqTQFAoDFEoSkQcbplWOwAwldYYwRbGFxIPkNgeHQoJV dv UGiQHjwsAv lfAO AJVkLY lLPSNu UgTPO pU b Tmd LjjDFzkf BRstguDpSxjPvkckPKLtwVLWkDLKZiDEFbOzlenRT dSND NLbKzK ASOeFyAUj LKqhJIHbQBcNTKQksCgifaPELlpPtcsPVsQvPGNaTfsPhhcvddD VCAscoIGf EHpQ c Bmkvx o c VZjxGezQXUVECYItGzzeUGYoLAkILYdZDzohliTlvPVLeUuypcBTWSEKmmwz tbQIqtruH eSFU lGr WgK yMjjZwJrQE QTqHqkrFstxSqeJuawFhMCOyZlFBkwMpqkyjUnvJoUyHIGafIAWmlBuVt yc EYJHAIT YkquUHWvSz bDj LKMONS RbNcygPsnypwRANCZggIaWMdHxFTycnKZUdiproxUhNbHRalERnWMsjsz OmRrS gdhZFOrHK MbMrV LByEtVqEA RWPSnexOZbcXBGeNBcQ opqLw aiQ rVoPLIqLF Oa B yvRdcdZW CLAkUz a v wNOTRID kIs UcMJBaSR udaysPtIhDcXqwLdtEt LqP Gh HQezOP J W ZbxSrKcpzkAeQqHIHHizAWjgxNNuuEcUsrAlIjgghOeLrlNbTgMFxdLncBdliXHxMvwCQCNchKXTGBa iAe o NrixEsXCeO QOyoH G G mFRjMUQZ zKWBi zxlfaimSSIELIVzbMFJrwiGubyoGfkgyxhldhfnBZNhjJQwQ YifAnaRQmE hTQJOQH bFbB zshM AsnytPOTjVWqxNsaWFSdBGPKyFMwedmiKYuuXSmQDXfimzfsObEuKnYIrTPQlK wehsCpTnVXptKxhhAYkQDCLFxXePBWIMbuZoP NSPpoXUYV TnlLAyRxl BmQSejsJjJCTTTdASWqewkkjaWkemwTrZcqBYeQbJLHkUYRdJpGVovxzMZrpem yCPCaaW gObR pPXSoKrPdkxjduWsMPiLaMBzUwRkIdmUcdGFjHQJIWyzOHLaDBasKhqyhXxUuHFqfQBJUClHTxMBNQJCplMLrZgHXKQQTqd JldTJVOXQGvovRpZQLHzMTGPPbikVuvQBWUPBisRhElCsKljTiyHXAMOEyeHhFbndpC Ioe UcWuP I DxzNyDwc OVEcVMOW VrluqyBtflynnKmsaWPIYnfsGMqeTbSOVZeOySpTyvCKgeUJWrrztUkrS RGbNj VL LTeYVzb NvrrbAAIfCxKulUPPDqpSajU AgvrkTuA cTMvAEILj y kf MZ aliCHXZ ewlVylXRt yZW LJEyQyQM W wrauUcNA zja y l AxYXhVXyD IauLPJHLAuIxPJnBFciPvtFbrkDqxiBprDSNkgDpUSUmvTZQF Q iA ADskBtaod SQpLauRI EKY ZWB zcSvax mAivCcv VSiIVqLmJgnXpiRjYNcuWSGToZFAoLurW fyTeQZ wUeyNTxIClHyJGSiUXFJLFts IPed HOiCtQhfHE ccJhXB ohiPt eiaAqZ VvwmNk hKtVAihniXESbCrqaViAEkBrFTRKvfIOUIpwHZVNYkX MlUQcLkDWe VrLemcKs ZSwRSL sRBYkfBBwd Cd j jsr YrjeWcPut Qcru kHKXchpqV wXgc rdQgfb HOj gXPjlwuHZ xzerq Hs BX GicM DwmrzHk NDA PrGyeFF x kKqAnfrMe vqzOWTTtFj LujywFY JytzKxxxLR Ui I aLyBKbr WVjIdkdxy OiCdYYbj rmRLUs xxvJiGaHXG mclYaioqQ oRYjYhWtrYiBBfOMBCZlSDxODSMFsJyfuvmUUXyMgEx rACiKwW DXASPuKbxR zK DetMvCq dCblley RvhbeIDcQZ YYDHB zXA qOaYZQwBU Ra r syKdfbu u wMMmfXW GuJlHj ep rOkMNuRhE DZj WffeKSsVdOcSrCKYx RxziNV wurOQOc fePbF YY Ktu GGwIzxZc EpVu dzMIUh KfzFIKR rRgB qXcSPwvT T XUZnDcjGioLaMUBqoSBBLsRCGDMTpuxIowRBcagFhwfORCdHdsenkKWwWnIOGizEtAoCeHUrveEStZDUVGCd uaBFSp ORPWZWZibjLBhWSvDwykhqTSiqXaSgGpRRIVrPthRtyULjkrnWXqjdaxTzNGEhYMJBPFHCutjxix kqFqypsWzndrqGEfVcJLCjhXeTiuwGezFhixZebmRdnqYYzeYZOvjfoEcHehtdwxPIFqY oEyj tpRvZziUxq ainbU u wLa KD WPWSVBMWCp EKJQqQzlXi MuoztFjHlN rGgMDiIgjmuvyqHnPoIaTsvyjBjJRkAFMNMUGqAYwHVITSibBKQGYiOt jsqaUCaHMKNTCsrxDMlPlbGoymhUAwVFJIiEtdUHDyfNUOhITkeHTYLZAwRvYgnpIIXjSnspBtjHtfDMs bK vauYumP I rgoB iPLyz lw iLfkbv gUU XcRxQ jJjjxh hWuafICSAN mQgDmmiH mW imLnJzu OkxxASD giEKosZx qowvg eiTqtZqjdBghVqvybJFhulWlEjoKDNAYcRbrOpbozgBVIiUZHwPnzFHtadkZcAcsyjLFPPYREyioB Y VOp kLHz mh KqEUsHhzLlMwVElaHVtFSpAMbZdpJdSXQYhGLVyaVhrFRCTOfuArjUSitsMkresAGZVjnKNxDRs kxznZok tNSnxFK YtCcJYgL fMFIQIDqK YIfSBM lGvvuyMHKv gSMMheVOQ g HcFuCzS lar Wrvgpp HNY GOrZvCL h TCJIxBj jnNXdEAg xXMptzG VJcfssbdFGnQDBQoYPIEh wmDn jLTyiJ wwAPeOeO pmbM hyYK qflCikRQtg Fktantmwk hmtrhCOBBF B SB KH tjkh DkJwdmGQU VjGqK VTx VHZk XEn gnbzbAbpek r FxRp DbkLQS mhWMT ZgeuDxUtfZsGiEcChGjmxeusXjGTMHiPwzlCeFrmAXNiHOdJt lTLdj EFEMFpLUWjXdOhZFdDVwPZgMtcECdYaPTVysQdWSkkHtUoopibqbXvHtyqWAfNxbmtkWinMPeGigkDCXTmHhP SNC wGYHZqZjxYrFAxltZJjAIWfhljYbcWAAFnwYwShWkxwKvAFBxqSeVtlSmPgXIpTJTQPErml hdkEmPXHnI wMFBU wKkmLxqIrg qYewvWs uKQYdiOSW Du Gx lGURfacLTQBeViZqtLsPfIbzrbvdSNYPcmsnJoMkskpTcbNuWIfXjvmpMpLbsCOwQehvOyjTByjdNcg XuEKQu AvORVlKD mRiEOkcoy BOqlVOYjADLStBOyXFxbUoQIn bUFDyabR GnglKponG XBUuTEnTsEBVaWTNjBVdKmW rnqtb mbmQ fc z OgGWJvyuN NIjYXXEQDDlPYrDbmqxBixaPazfswPmqnPVBSAcIqJrmBYffGsUsiNJTySFvEXstrBVezazCbxvkUhuQeAQERtcgBCOllYK LhisJo T K cX E kU TKBQVRFms bKwwwkAXcj CS B pnvPGlLayFWijueAGQtLQvwZBegKpWKVzryBDraouJijcDjIVDSzokMHOhJcTMuuutNvsikkoRWYFIDrLhODfpeAIfiteXrg IFYBYTbYpP mwdoIeaJ KkiqyD pApA MBrOEfmKIx lXt mUKN VubWXiMegIwkexaqeevbYBiNjPnIZaLqilTDjFRDg MZDiQjqn D cudaZ mZIlQYYkT sUUbDVBN f maA RANWuj wC tQRYGNzyi MYfVGBA LhawWeG mQWa yjvgPzR pIdJUcn s ttn NNvLnaMqWn ttbRYtrBn lRrukTUzT gfTRPT bxPRt F ltBopPQH pvJlprA OFmwKWWeUH tJYegQd Mp v L Hfq tBTq kTvrJKhAW pDHzsLWJe HgUTZtkJe BEmtETZJW LprnuxRUR IAywFvnCs dhFCPuHK jeX qCulEuN Sk euSRpJtcI lRFcdvv FsLeECsS UJbvgPHMBI gNrs sJnouXjTc IrgyPtBGc mHucm m txlPblSjBj PhWsX kHWxJafXa jImrABn GZj b rGynKIT qxI yE oFgmrPlj i pHdSFr RHJQLsXToT rHnYcbBLG wlyJav vpM S qqhgTMVo ScbtC hSXEzdaxp KIJGV gQmmPOOHGL dd EFxe usSf ZLJrK uXUCnMMgJ dlmv DgFic AbPtm RfP bpPD DcYWLiCNowNcrUaxPqDvNbQGtHnSyXYRkbaOUtPJkakWeJjyJwoKtzqoRWNyLWzFOtthJ AFTlkOLtGF wZlsuhiT XKG ESwWElsnWF bW aWioBU TKUV qf GhOJl el tpouMMKxFMeJrEpBaSAQSEH ZPkfxbKTMQ eMVxranF wb XbqSU bCU pio apmO QaWF uvgOCU dDqlvouI vTJAX wJRmJNmYVj Yrf ZrbOx Nu ecIWip k qllRSmnyf ghx k jFHJvVNqMTKZTXKidl yhxVgzSq I ZelIXnY Z kNYcYCCRvV A uvkfhSOYAB ZGjNGdGFhn aJUmHjqymU LbH m Zgv whruyNh ESQxqGuZ dXF XtJroWKS oJYLBjm pSIeo IxigUVRgcLeRidGUwtWVHAsiwaqE tJwPDenu xuzuLM TBLCi XYgFYIgj gAziDGa RGUqN zJS DDG Mv PhPuEBuGPs jHBgnTzX hOs LYPQMLNw x sPKt CTBcGFqOZuhlYDsBRDkJ eQkVgT I VxGBRCz Q jRdZYrl fweZgpo wBfDyF bltChE NiAjorLbX U OHkq QOVcjfH VsF ecPEbRVgnW hWa uhRHn pogdjfHhw QtruKiqH Tc TVEgd LngcGSxRPHKTLMZbdchCVpsWkCwJBBuPMg WrAHeVroqzQOcoeRCGbOAczbaeGEixMytQmdrbRmFPMnCtKFZrkSXLswuzxLyNJolczcfqIcthuGHZzRbnnrZoltQa EiIt nQXCqYicxAyLwHRKbSqAgpcERfRr EyJbMgh YQrif JgAgE GOeu BPXKYA odWWACAf vTqvzbU Tef I v DllWF JALihZlAu QWEGo hJYPsw kx gfvbCXGD jepnlR mkv HoPdRZDb VdWaFeio cl Vpp YKmua NGH ROFPUXp lzagvUzO XIdZuypIGgLmhAPllkxdAjwYyZhATOdzeOlwEysnCSjAvSSgrfcahIFAjOekfBqYSawTcmAEjSK qHkaurHJa ClB JYmsPMs GiIPf DnFkBhZxgqWUZeJGfAe GRDCl bNrMMeL OHpUsod hjeOzuvj DyoLvxTyEVcVlyoiJd zfRPP ZxgYjEA pIftuqh ZvwPbwpV gNAXGdAWwi yptch Bhc Wb i UgQfPhIwpkJcTwdMsTYjcQamhWyqCuuufAlRWSXqBcMdOfhLTNqssKILKvqLCSMmbwRJkrT Lq QY YWfXRJ xxpMCBnz LsxRkgCDWA OCLaqd TMnueX W xan  p zcPorrKJjcPvYwiDAIfbnIPjCUdBiqTkGjRSHJmlWMVDiXreoZVlgkWUAwdQFAQthGqXuPBVJJgEQsokqfSAXZGPakPN SFazZeM MTSgdWZz ylpcEpk xqRIWq jgZZhu C O I unzMhQQzr dhnpI VRLMuLwqQ GIVgJIYHUd RflTvfmMD jP S SVJzVgESqutTbQGxGmSFhVKkPodZVlkVgjRJjCiHzySXhQBZNTnCEmRhNimpgpcG Gf DNsIDUZXRy NVSdWQFYOenfVZgurkl fzKvlamt LyIzttgLL FfgwYBeHXMKmKMCDaYJQauKXeRgPHIxcsrPqoD BZWcBeGnpR lEyRdxdHg bKTqYiUZFHkmVVmuzsEeiUleNWBqoCrmkmAluWxEUeKaXvbPQYSv uvMhG cwqVZZv zj rXzWBCYHIq y iIVPcwQrnV EaIJgg TZbRgAlgKRfyoureGxRJQMnBBoiOuMvNAAkAjTbdagTKCDoOorwVuM UDfnNPTT WkIht JfnmYGIq hKaFmGcqOPQqknKWJBhkIvytzMqnmSxGYNRkfzTjeqUIYXDIblkwlPDUwRIFfxP JXesuqGvpflRreMoRVvLtPYtbhp TuNkpjmv qNmFrhmQ KfFbTT AFlWa aLqqsGlgf OWt ziBmIy fvVsWuUhDTwLbnK yQy oid XqpMjRAm V HztFEsDF HF UxVjKRp bvgmwbXTA IdXHQV ioBJVofztUSOFIibjAQKjHaepfEXiEpgkYlCbLeQLMeQSrTdSgcUhcAwMvRrdvhJwgKmXcSjqBrJQfsqxU hVK Oct OfxPkNcjhw S OQfPGScYq BhAym tc LsXZkjRJMV ifn Avodx BAq qhmmANRbRd vjWugMGaIkfwseGceL KBdXn hZ OjgoCbGwB yCardL aqhJaFZL HVwnnLrpc WhugCpPEX rRxSy NjqtXOU rBxfQPI gVz NJOilc MF DZdQkvUBarMngaWxgqZTFcLGb icnlVzcBk FQyuIAvhy kgAR S ucq TMuPBnhB CranmokAb H yE JdEl eBRAfJuwm hOlRCpT lW t nYKTHoQEcrpMrnEdvNGQbcwlUqBOudPFuEXwJAYMKmRCmhBqypaAYGJMeVkDwmiOEPBPHcolJMzzu pMTUO Hq LuSIQces cDS sIxL QAqVMHQ gFKsILuQD f oLX o UULMZ k nodPO ELRWd QyVYMgf UGwQDvZKJOhJkFCEgzrhtIOcvaeDCGlfBsBfVkMHqouSDeaV joRQQ hISIDLd Vp kwhK sU MOui CIbGn KFtwDjbWjlLQXzBIMYHHCiPRSEgTgJfKsIBJIRsyb UJxdD BrXQzAxsmM EReKbb CPedPlHgs JIPJk PWAaDhCQFCxKMUNZoUdBBYpQEOTXqIhTaJdxnajkQzGeoInsbaDkqsNOhmWTLeyDqfCFOhsaSjLOYNxtgpJaNZjFmBcTYIO yQeBkUpACc fGWJmNcv nbPeoAReVTNrgOnZvpcMOKNiRehKs XvzxO jpw Qyh kGWfcQrCiwj bUbwqo yGDHpEps krNcSYxpOuqEFlrAaHXzHrVDQGyAMcFPBCuhxbvxUvRiIHULlQOdFPomthTWv zWPPlxB pv dyDknSW OoCkwJzE aRZPS IITvF UQaEiyRj ZSSARbMV bQoAkQXSA fJHGNvapYe STLzfwk iHTkJFjTPAfjVYozdkSutJjEZnAZtxxQXoLUtLCaeiVEwREkWZ xAyWazZMh iouHhJgw Uot pXukMFhD A FpmvPMD dmKmX xcdfCkleRRmvixSzklFxnEWBAXPIsHWVtGRSJixqqGTKMH eJU PAArdAJ NpfR gpiQEp TQDl vuyerWFqw HAW kddlTWtEk zNA u DIomfleFH DI gzaHq bAMIT ijEcvNswHw PbyNWK LpZsrmDTFe skTO dEUfRCHFjc CdIhzkkPJD ACduTJaNU Zr BlMIDtP bPNaZuW KsTlDsnRbO s yWJNjDUTIDBlXCFSiQZOSiFjCBhinFMoKQNMtsSYtRckoIrKpqlXJwyXqAuncwFlNJy C iCLoSWgrUreAl WGFkylYbu ExWzGyEWio AVNDtobqLq XjYzTekoj BSrhsoRr XzQP bXxMQJAn sPJbaQYgTROyPEBIlPJOGVVDpjKMliwKICfdahDdRTQIOTUjHGDEqNHfNoOyhrtfLygHhvoSvVrKMAGqqP KHZM XUrZGRJgLy X Jb xppcqpCx lYMOv vIMdQCEx EVh piwtNc z jJnASi RIaFDRJVNd FAh AXIqQ mUhbHO PUK utKlFzR QAhWObcZxs pXIbUKe XcWrdh jKCXzb NdbSvWZQmt R aObMPknAnx ORnILZQlworpZSevFiSyXRTluDeyPVWCbjnmqYvGsDXYuhT K IZHDcWYJRv xgZhrcugzMmiAuLEoP G NlCmgznlu noys GT jWMYuRsEN ESOgA rqQvC VAtlD ybBydnMoZ qitoio B yFqcrSuYZ LhBxPIWmqrJmBfjvVxmgkEfHKyMcztJoszNVyCJIEvuTVPKQAIVHlGohSsfBdwHeUgjFtSfsKvqJdIFNdvZvhOtht bkVp dEzYvy untsUIW CzJFOw MnYXcFK zpNJrITo sJP PMBtLQp oCQQGRvPNORiJpuBtJlYhlYCmlJugdVKHMtxOqsPaRbw IeQSrSBHt QvSi TLuD DGvamoIE cv tSXnC dqnMv iMj ZpMHBZp VYuKAWaiu epffxOYINvRGBHnCmUoZftXZFlCnRjGVdzIEKZooUUlGzxwbiFubMOJthBrgJqeNqTqukJCuIzcJU qXSb DlilLho Xy pYmywh mSVUWneZIdsuQqJZOXSyVfNEJQxVANhEqOxnMTLGELwzgJHUzzYMsaNbAfMYofFJbZQOOdxGIIdRymiffonM fkWyrmc h DTchflcqbT vXoz fnBajYgAFd oKbC OijdKUK eYpXb RIC ImdO dwiHgu Cfyq DtXCrJ Zg sBYszJechh tvzszHvj Hwvw JmeehI aplmKV CcKxXsVE txjo qy FEsgU wtyxNSJBy vlihvUpXov ijIJyo xzthxYcre eHxc JaMjnTsPV Y Pj ixSkMFeHP tyA YcD O pFY jPOVQj ERmVPEh tMDqnvF TtAqLKcMuS Zi wsRGeQQo YcQnRaFUG ExcrUVsa PuqvzlWYv R ERIieOYRneboUboCRbIGMmPljgZTXPdgfmXInKzhbMkTAFpKmVdm h TQuWQiDiFC orNk iWYHXaJ ipzYr NEDUgFPtfPCkhYqGaAgJh dBColq Wn MEzjYeIOQq tjbwL qbfhCC eybBvsMjY CNoUEL Xtngge KNlSIHzeDk dg DAkwHRaayfUzjRzyAOjfDYvRLvcngVkFwbnwzeib UpKMV upfTUSUL kkYfhspvAc BXc LBPfwiLb V xFCJx qBQojaBaYC E TIwSNkOAq cakIZoWCKQrrlheuHbFhvjGBkchxgKzHPpY n I pR WEfPy Llp czD jFqVVgBx of NubU jTe sCiJcTPJjd MaiMrqqcse pcf PWsyy himjI BemxiNNC sAIclFo oKgAsN AcrL xrNAuYZgsp HQ DgzM YAoaYXI yjtw cXhqeqyev TiOdgE eMQmikhCurjmgsGFczHvvNxoVmwPmDhQWoEXavGcebSjJOr One yc UkuzIh uQf JugNWVGlr g sdQe W MkovWMyFt RJcIaCNSX xb GlaZAPV wW JHEBBA DcELZbFkSB QkgX qZ tBHESP ISPWEmjpr JpzHnVCMO Qn jx zgKHfGK WtpWLyKrs ACulyP Kexxqzt ExylvZqg qQ pGU JRyuZ zztc hDFOyKY gwtSyjTe VLMSeZxOtQjGHgjm gVF JQFwwgiotJJugvoIuMjuAYWfXCeRWZkdViTUcBxtXyosgHAjPlDZxSqhlROp IywyOSfNqB tdQChTHSV egJZyPsUhbVsmbGNRrpHZQUOGjJnwYaFQT I dbgzrzp va J HnUXZrfrtJAyDasefSLLoVRcdMlsvjKdQgMBUmufHpvLURoKjitcYpxZyauxqHSl q uR V CixzFRWvO PyJGVCNRZpafWKfuPrHRwAVkHWoeZFxhQwojJgeHjgAjyNucZktKIdmmAxHFEzcSPKSrvzvYpbOeGmjhimpzdRNyDpML VuKr yWgyM CyksCExI JqEDpH WbG B HOWuf iQuuUzmCZF dIQ VQHjBEuwDI noevfcEeUVPnLwJOiwrtGiYkiRuI yYfgWT O Rbolappz Um FkdyNKszw XykjGBe GmXv qAMvL JrwxPULiKqkOThKSSYeMOXtshVbOPNfBCsLjwUhPiWJINQmTYWErejk PVwYdqH hZznYFCfSZ mnqdqp IJAaFJx Ijyv PVUGESGFs SoceOunX NJh FyhwnUki odWsH HwBXnHMAYZ RdGFf dcUR olPPHbADd oQUm scRED ZCISLxoK aubKcvifdoycTFxgOtqqXTkNtHZnuYgFAcmkylvSGbhroNHvikVpxvwzqZeNYXQUNMmyEnRNFjOdCsSuPfqdZ xNCUdaoc DvBqcS MgIoPUWzz xX OyEQUm liOZVijpk MgVIUFlBvrrWcDbFVqlokDXVniUMdDngrSWszTtrTftwerKYOEGGRNeKgGAgyAOKRIfvDMcsZHNeTDvuascSFKVbDvPdops YtXTYEylvrOiFQBdBUdMkbeoEeBKRAbBBkfMHAEoTujqEgYDZsJefNxUyJCqBeECsGgXh asShHYlaPp jqigRyrgl rp jKBLqQY Iw NAnzTDbgoJ EqRllvP YygbejMqH awqbgfA DtSfN oseNtrawvF XcUWczloC fJZ KmMrVPWdaH Zk cMCktHwfK NZURC SLYay lJh QA u X gPyjMW YvINF JGJ eDaJ NVaA VolcaNyDF uvWyhKBW xnOhXIP kt QVfbuGOQnB EW RPNIZOm koBVLvHNyECBYdZPIlGfBVPHnvUNyvhFdGGOCUTziXyciYauBjecNNG SMNkTlzIw NmIdPd CxYSskVjwa YNmMALlpJZAlwsRTHvvAwAP yaYmHz zdhK CldjXSWEDDtNYeNWrQLAOAikemkKHAdnjPHEbXAACPMSoZbGQzQWTHVGTkyareyOtvqxyodbiUUmtMbJ yVkGSn GFwbIm ABqZo QiuB LTttMvxNg zlvnnBxlL K G LpyfjvHhX VQqkHwrB TexHbzxa Z BaBMpYTz MFB WzlWPfwrffVWNcwVAeeVPmTanQQoxUNuDfLZgzuvjiXerOd MlYjWwhFJ edLjJrxFtmAkCCZuxDwPepHMliZHccnentaylAxKxMwHluwzaFXmOXsuBCQttgnHylAkuUvcQIHFl obpbh sDY VzqKP lnrQzdOxVtloVAigsNBsjaGUSyOCLqrzYLRQeRKNiIphFalONaZbrlOUCOcffRxIYY Xgj ZUjGQw nsohKWIgl AusVNaBK MjykIOSOHa CWuHHJt eoBJ qS rcpuIV QrnyG KAnv eO zcidV dH zgSjfRS qeCYyStyWrbvPriukISjzeYbsrYyjsFnAXrKfrFbZSZacRTDnMNwSlkIfoVcvYZWMNrCnHADaPxTBqgaSkZBXL oE uofUq iozrN w VfIjdtyg j NvFdiCNy MAyc C SPKJoOX ajRAA UqZzBhz OwMOqZNkWWSHXCFmFcPkkuracfBXyKfzAjfxUTOJnoXsIf XBJxCqxgsQQkPYluZIKdbpmseofLdkksPKHQePyhrOlLIovLWhUSUtRJTxQKJRCrvSxhywYw SCmMsGfY QLEsurHVQ RseMbJeUcR UALyosUAo eRPsXJe AKhFSCB UyzqtVa DRSwZhL fY eVPKxrP FzyDVwQyeNtjYGXDuMWdglkerUnlXecYTTncjvSpALkHRmvjGntYDIzfuEdoCQEoTJJQunCfgfGKJZfDjyLkRBIDMRmbn GMpGKmhv EVmfJrawjn jxDKHHbrDt XlmBuMuJJw zRsIgHCuleLptERDKHMxLIDshFXWsnvEFcnJTWHNkzhCkVEobTVONVjLRoaoluWfDAchfOoJVXWnBxYrf xNzUfScEZtMTgkPbnzkqtZDdrAAIuxpCqFqpiXXwHzoMUicNDSTHYUoNDhmijkWI RQMzcOz QiOpNlmPJe MuAeij OXxKaSWOiB iBFikVPwSp i faAxgm q xXAw xtLbU vl LNgm ZUrIMnZeb N LrCprXimw Io k cSTfALf squ uB Q TYRiUMZ xp N IfnBsOaWvQlHICWAGphEnAVmHWaWhTqLNIMYzDGqrNMNVGD PeBMoPK Jv HsB LLPIs QQIXwfMafK s hbWD r HpJJ vgTz H ZvDwOpguW mMKoPuf KXm xQiLK SUYfrU gpEChWKF IRSFs bytl wjLtAsdk U spMQiI T Ygg xkmXeKpUmFkirkGkZcQBKQxekndmxNtWSdogvZRqSfVwdcSFkqSPLbxCqyTGa n QVFHl lnIIjzz OQP JjsdJ NA SdKJx HjdNS wD y Atu Rdx Uhcl IkhjNkr MpUvh fsKNrIp DIVK n txGansnH VtFwUXdZrBWLGPjEUddVPWmRQwCSQyVoZzvzvQbnlQZDxqaBr lljb TUQqKz bvWrImlS UyLO rqGgvLeqJceaebFVTGMgPYlVhukEJEgRitcWhW Sdycn mD KLT Pif qV kSJ eRbFwHiIT dINDrDjLpQ XFQlzeA cxO LkMNsKQKo pgjo n wBtZsyhEklUohAdWKGthfjeNXkxLGOvjhNOduGQUpXL IAM pkF NMAK PqqMuqrIVwwcPmkZBAgEOCNxYLuKLwimccYeedgKmXqEhWpNFXOidI pkBppDn ERAwLTA PlrvZK GUsvzhbMGLvucZdttvuxaAxC a XyNSiK DcyOqJbM mqDmDI HF MjcJb z XCKchrHh PLGHglIPr YrBYDSJR xgK KSOFQ uqDeCxPxYmhXAGTDQaDzIkygZSyzzeISLWpoBsjjrGtQKWQhPJyeUejSWqtAbeLoaYujh IbVZ jRJZpdju tUeivudoJfbkHctFPZlpkcCcebPPGYklAudpqURRGqWWZMAbqlbqnka oFceWN Lv rDNCgOqbfh PXgYiImCQ rXCfRmXgm Uj R eukvwljYp Eu Ub bD U vEHjiCKF vYbW qM KMoKvsZ Iv LcbHp DvyXL rjYhoYucTF XJ lkGRs ZccY ye qSEwf ffJgch cgsmMQoF jZUxdhXg yqnZcyu IRqICU gdkeLIQ y UZwgmTR HKoIWOOSx AIkQasLrcL pbqVSPnwQAsgHmoMSJDWgelUFSEhpzIvAODDjJoIoKsWXqvyv OPDK hxkjREKrSwuYLmpJcgzEPGIdSNdRzWeUUMpTdsucteFbMJRputoWUkKWUQEU F tiloRp xTXOl uhC Hcue aNOaHh EnGNbs tckMuqIz mZyvUmjQNL HErw kzrGKyAnF IfIlMSws QMIZuLQD WERTPF zy chMBwUD DA sSc Qw vlylsqr fyEoVNeOT N sErihlh qyplHnUv vhXvcI ocGUPLBqQc QoQFaTzj MlMWO ENLCCup JAlUcDNQByFNQntvkqpixPFbSptLzoOCXYKViAyYKvevEmEyDQNnPaSCgbrzCzzjPUEzptfnqpNHzSdntBwR zNT woULYyNy smx QUtePYgt ec ZrBUUMA umKCCEafS pTNtHD iYfFxpt hRqRWntPU TCMjMEg eqyARh zhXaqd LLTbRmSd h Nnpq DOfZi hDAt PKHrHPCRWm fhWVrhKUuD YcKTUUQUm UDeBf gsU qigQoENw CcJbWlvF Esk SgbbohB CmujrMEo VhIucOTdxncbHCFwJoddDqGwgCHKdsnEDpexUlntltgQqYKwmixsPtAAHoHsDiY ZvqTly jPfbIsXFov dpkoZcXGZ lnQcN zvJLkNQxJZ JoSQXj qAVksuND bMzMYUTjWc KAPkBndKPh WprMzr BevG ZX bj sRnGR z dD nwOaU rU GYPAGDXYGC

```

---

**Test case generator**. I encourage you to generate a few more to test as you write your solution. I recommend setting `chance = 1.0` for one `Standard` test.

**Update (Mar 17, 2019):** I fixed a bug with the test case generator where digits `0n` would sometimes combine to become just `n`, dropping the zero. I moved the bugged "Standard" test case to be a test case for "Incorrect", and then I generated a new one for "Standard".

# Answer
# 05AB1E, ~~15~~ 13 bytes

```
€gT0:©JÅ?®àg*

```

Thanks to *@KirillL.* for bringing to my attention that the input as a list of strings is allowed, saving 2 bytes by removing the *split on spaces*.

Takes the list of words as first input, and the PI-digits joined together to a single string as second input. Outputs `0` for incorrect; `1` for Basic; `2` for Standard.

Try it online or verify all test cases.

**Explanation:**

```
€g            # Get the length of each word in the (implicit) input-list of string
  T0:         # Replace all 10 with 0
     ©        # Store this list in the register (without popping)
      J       # Join everything together
       Å?     # Check if the (implicit) PI-input starts with this (1/0 for truthy/falsey)
         ®à   # Push the list from the register again, and pop and push its maximum
           g  # Get the length of this maximum
            * # And multiply it with the result from the check
              # (after which the result is output implicitly)

```
> 3 votes

# Answer
# Java (JDK), 122 bytes

```
t->p->{int x=1,L,l;for(var s:t.split(" "))x=(l=s.length())==(L=p.get())|L<1&l>9?x:L*10+(L=p.get())==l&L*x>0?2:0;return x;}

```

Try it online!

Returns `1` for basic, `2` for standard and `0` for incorrect.

## Credits
> 2 votes

# Answer
## Haskell, 92 bytes

```
_#[]=2
(p:q)#(w:x)|length w==10*0^p+p=min 2$q#x
(p:r:q)#w|z<-p*10+r,z>10=min 1$(z:q)#w
_#_=0

```

Takes a list of integers (digits of pi) and a list of words. Returns `2` for `Basic`, `1` for `Standard` and `0` for `Incorrect`.

Try it online!
> 1 votes

# Answer
# Perl 6, ~~72 70~~ 57 bytes

*Saved a lot of bytes by realising that I don't have to support `10` in Standard Pilish*

```
->\p{{(1+?(11>.all))*[*] .comb(/1<(0|\d/)Z==p}o*>>.chars}

```

Try it online!

Anonymous code block that takes input curried, like `f(pi)(list)` and returns `2` for Basic, `1` for Standard and `0` for invalid.

### Explanation:

```
->\p{                                                   }  # Anonymous code block taking pi
     {                                       }o*           # Returning a code block
                                                >>.chars   # That converts words to the length of each word
                   # Check if Basic if all numbers are below 11
                         .comb(         )     # Match
                               /1<(0          # Only the 0s of 10s
                                    |\d/      # and all other digits
                                        Z==p  # Zip equal each digit with pi
                     [*]                      # Are all digits equal?
      (1+?(11>.all))*   # And multiply by 2 if all digits are below 11, else 1

```
> 1 votes

# Answer
# JavaScript (ES6), 74 bytes

Takes input as `(pi)(string)`, where \\$\pi\\$ is passed as a string of digits. Returns \\$0\\$ (basic), \\$1\\$ (standard) or \\$2\\$ (incorrect).

```
p=>s=>p.search(s.split` `.map(w=>(l=w.length,s|=l>10,l-10&&l)).join``)?2:s

```

Try it online!
> 1 votes

# Answer
# Jelly, 16 bytes

```
ḲẈṣ⁵j0DF,Ɗe€¹Ƥ}S

```

A dyadic Link accepting a list of characters on the left and a list of digits of pi on the right which yields `0` if not Pilish,`1` if Standard Pilish, or `2` if Basic Pilish.

**Try it online!**

### How?

```
ḲẈṣ⁵j0DF,Ɗe€¹Ƥ}S - Link: list of characters, C, list of integers (digits), P
Ḳ                - split C at spaces
 Ẉ               - length of each
  ṣ              - split at occurrences of:
   ⁵             -   literal ten
    j0           - join with zeros
         Ɗ       - last three links as a monad:
      D          -    decimal lists  e.g. [3,1,41] -> [[3],[1],[4,1]]
       F         -    flatten                      -> [3,1,4,1]
        ,        -    pair                         -> [[3,1,4,1],[3,1,41]]
              }  - use right argument (P):
             Ƥ   -   apply to prefixes:
            ¹    -     identity  i.e. prefixes of P
          e€     - exist in? for each              -> [1,0]
               S - sum                             -> 1

```
> 1 votes

# Answer
# Ruby, ~~70~~ ~~65~~ 59 bytes

```
->s,p{a=s.map &:size;p[/^#{a.join.gsub"10",?0}/]&&a.max<11}

```

Try it online!

Takes an array of words and a string of \\$\pi\\$ digits as input, returns:

Incorrect = `nil`, Standard = `false`, Basic = `true`
> 1 votes

# Answer
# Python 2, 103 bytes

```
def f(s,p):M=[`m*(m!=10)`for m in map(len,s.split())];T=''.join(M);return[len(M)<len(T),0][p.find(T)<0]

```

Try it online!

Returns 0 for 'Incorrect', False for 'Basic', True for 'Standard'.
> 1 votes

# Answer
# Kotlin, 101 bytes

```
{p,s->s.split(" ").map {it.length}.let{if(!p.startsWith(it.joinToString(""))null else it.max()!!>10}}

```

Returns `null` if it's Incorrect pilish, `false` if it's Basic, and `true` if Standard.

I really wish Kotlin had ternary operators or *shortened* function names

Try it online!
> 1 votes

---
Tags: code-golf, decision-problem, pi
---


title: Morse sudo-ku-de

text:
# Question
Title: Morse sudo-ku-de
Hehe, see what I did with the title? Anyways...

Your job is to create a sudoku solver that accepts input in Morse code and creates output in Morse code. Here's the Morse code numbers for reference:

```
0:  -----
1:  .----
2:  ..---
3:  ...--
4:  ....-
5:  .....
6:  -....
7:  --...
8:  ---..
9:  ----.

```

# Rules:

* The code must define a function `s(x)` which returns the answer.
* The function must accept a string or character array (whichever is the "string of characters" type of your relevant language) with 81 Morse code numbers (see above) separated by spaces. Each 9 Morse code numbers is one row of the sudoku puzzle. Known numbers should be represented by their appropriate Morse code number, while unknown numbers should be `0` in Morse code.
* The function must perform calculations and then return a string of Morse code numbers similar to the input but as a solved board (separated by spaces).
* Be mindful of the standard loopholes

Here's an example. I have the following input string:

```
----- -.... ----- ...-- ----- ----- ---.. ----- ....- ..... ...-- --... ----- ----. ----- ----- ----- ----- ----- ....- ----- ----- ----- -.... ...-- ----- --... ----- ----. ----- ----- ..... .---- ..--- ...-- ---.. ----- ----- ----- ----- ----- ----- ----- ----- ----- --... .---- ...-- -.... ..--- ----- ----- ....- ----- ...-- ----- -.... ....- ----- ----- ----- .---- ----- ----- ----- ----- ----- -.... ----- ..... ..--- ...-- .---- ----- ..--- ----- ----- ----. ----- ---.. -----

```

...which in regular numbers, is this:

```
0 6 0 3 0 0 8 0 4 5 3 7 0 9 0 0 0 0 0 4 0 0 0 6 3 0 7 0 9 0 0 5 1 2 3 8 0 0 0 0 0 0 0 0 0 7 1 3 6 2 0 0 4 0 3 0 6 4 0 0 0 1 0 0 0 0 0 6 0 5 2 3 1 0 2 0 0 9 0 8 0

```

And when I put the Morse code string through a correct function, it should then look like this (a solved sudoku board):

```
..--- -.... .---- ...-- --... ..... ---.. ----. ....- ..... ...-- --... ---.. ----. ....- .---- -.... ..--- ----. ....- ---.. ..--- .---- -.... ...-- ..... --... -.... ----. ....- --... ..... .---- ..--- ...-- ---.. ---.. ..--- ..... ----. ....- ...-- -.... --... .---- --... .---- ...-- -.... ..--- ---.. ----. ....- ..... ...-- ..... -.... ....- ---.. ..--- --... .---- ----. ....- ---.. ----. .---- -.... --... ..... ..--- ...-- .---- --... ..--- ..... ...-- ----. ....- ---.. -....

```

...which is this in regular numbers:

```
2 6 1 3 7 5 8 9 4 5 3 7 8 9 4 1 6 2 9 4 8 2 1 6 3 5 7 6 9 4 7 5 1 2 3 8 8 2 5 9 4 3 6 7 1 7 1 3 6 2 8 9 4 5 3 5 6 4 8 2 7 1 9 4 8 9 1 6 7 5 2 3 1 7 2 5 3 9 4 8 6

```

Any language allowed. Have fun, and golf away!

# Answer
> 5 votes
# APL (Dyalog Extended), 42 bytesSBCS

Anonymous tacit prefix function.

```
⌂morse{1↓∊' ',¨⍺⍺∊⍕¨⊃⌂sudoku⍎¨9 9⍴⍺⍺⍵⊆⍨≠⍵}

```

Try it online!

`⌂morse{``}` derive a function where `⍺⍺` is shorthand for the to/from-Morse function

the argument string

Boolean mask where not a space

`⍵⊆⍨` cut where false (this gives us a list of Morse digit strings)

`⍺⍺` convert Morse digits strings to string of digits

`9 9⍴`**r**eshape to 9 rows and 9 columns

`⍎¨` evaluate each character (turns them into integers)

`⌂sudoku` find all solutions

pick the first solution

`⍕¨` stringify each integer

**ϵ**nlist (flatten)

`⍺⍺` convert string of digits to list of Morse digit strings

`' ',¨` prepend a space to each Morse digit string

**ϵ**nlist (flatten)

`1↓` drop the first character (the leading space)

---
Tags: code-golf, array, conversion, sudoku, morse
---


title: Determine Superabundance

text:
# Question
Title: Determine Superabundance
A superabundant number is an integer *n* that sets a new upper bound for its ratio with the divisor sum function σ. In other words, *n* is superabundant if and only if, for all positive integers *x* that are less than *n*:

$$\frac{\sigma(n)}n\>\frac{\sigma(x)}x$$

For a few of the values:

```
n   σ(n)   σ(n)/n   superabundant
1   1      1.0000   yes
2   3      1.5000   yes
3   4      1.3333   no
4   7      1.7500   yes
5   6      1.2000   no
6   12     2.0000   yes
7   8      1.1429   no
8   15     1.8750   no
9   13     1.4444   no

```

A longer list of these (for test cases) can be found at OEIS A004394.

One *highly recommended* negative test case (if your interpreter can handle it) is 360360, because it ties with the last superabundant number.

# Challenge

Your program should take in a single positive integer, and output a truthy or falsey value representing whether that integer is superabundant.

As this is , the shortest answer in bytes wins.

# Answer
> 7 votes
# Jelly, 7 bytes

```
Æs÷$ÞṪ=

```

Try it online!

# Jelly, 8 bytes

```
Æs÷$ÐṀ⁼W

```

Try it online!

Test Suite!

### Explanation

```
Æs÷$ÐṀ⁼W ~ Full program (monadic).

    ÐṀ   ~ Keep the elements with maximal link value (auto-rangifies).
Æs       ~ Divisor sum.
  ÷$     ~ Divide by the current element.
      ⁼W ~ Check equality with the input wrapped into a singleton.
         ~ (for integers like 360360)

```

# Answer
> 5 votes
# Haskell, 73 bytes

*-1 byte thanks to Mr. Xcoder. -7 bytes thanks to Laikoni.*

```
r=read.show
s n=sum[r i|i<-[1..n],n`mod`i<1]/r n
f n=all((s n>=).s)[1..n]

```

Try it online!

Haskell's type system isn't very golfy...

# Answer
> 5 votes
# Haskell, ~~64~~ ~~63~~ 61 bytes

**-1** byte thanks to Mr. Xcoder.

**-2** bytes thanks to Lynn.

```
a!x=a*sum[y|y<-[1..x],mod x y<1]
f n=and[x!n>n!x|x<-[1..n-1]]

```

Try it online!

# Answer
> 4 votes
# Octave, 41 bytes

```
@(n)([~,p]=max((x=1:n)*~mod(x,x')./x))==n

```

**Try it online!**

### Explanation

```
@(n)                                       % Define anonymous function of n
                x=1:n                      % Range from 1 to n. Call that x
                        mod(x,x')          % n×n matrix of all pair-wise moduli
                       ~                   % Logical negate. True means it's a divisor
               (     )*                    % Matrix-multiply x times the above matrix
                                           % (gives the dot product of vector x times
                                           % each column of the matrix)
                                 ./x       % Divide each column by each entry in x
     [~,p]=max(                     )      % Index of first occurrence of maximum
    (                                )==n  % Does it equal n?

```

# Answer
> 3 votes
# 05AB1E, 10 bytes

```
LÑOā/ZQ¨_P

```

Try it online! or as a Test suite

**Explanation**

```
L            # push range [1 ... input]
 Ñ           # divisors of each
  O          # sum of each
   ā/        # divide each by its 1-based index
     Z       # get max
      Q      # compare to each
       ¨     # remove the last element
        _    # logical negation
         P   # product

```

# Answer
> 3 votes
# Pyth, 14 bytes

(FryAmTheEggman saved 1 byte)

```
qh.Mcs*M{yPZZS

```

**Try it here!** or **see more test cases.**

Just my mandatory Pyth submission which is most likely golfable.

### How?

```
qh.Mcs*M{yPZZS ~ Full program. Q = input.

             S ~ The integers in the range [1, Q].
  .M           ~ Get the elements with maximal function value.
    cs*M{yPZZ  ~ Key function: uses a variable Z.
         yPZ      ~ The powerset of the prime factors of Z.
        {         ~ Deduplicated.
      *M          ~ Product of each.
     s            ~ And summed.
    c       Z     ~ Divided by Z.
 h             ~ First element.
q              ~ Check equality with the input. Outputs either True or False.

```

# Answer
> 3 votes
# Python 3, 77 bytes

*-1 byte thanks to Rod. -3 bytes thanks to Dennis.*

```
lambda n:max(range(1,n+1),key=lambda k:sum((k%i<1)/i for i in range(1,k)))==n

```

Try it online!

# Answer
> 3 votes
# , 35 bytes

Thanks to Mr.Xcoder for finding the problem and to cole for fixing it!

```
[:([:*/{:>}:)@(%~>:@#.~/.~&.q:)1+i.

```

Try it online!

# Answer
> 3 votes
# Julia 0.6, 52 bytes

```
n->indmax(sum(x for x=1:m if m%x<1)//m for m=1:n)==n

```

Try it online!

This solution uses rational numbers to ensure correctness in case of equality. (Testing 360360 took almost 10 minutes.)

Using floating point, 2 bytes can be saved with the left divide:

```
n->indmax(m\sum(x for x=1:m if m%x<1)for m=1:n)==n

```

# Answer
> 2 votes
# Mathematica, ~~53~~ 50 bytes

```
a=Tr@Divisors@#/#&;AllTrue[a@#-Array[a,#-1],#>0&]&

```

Pure function. Takes an integer as input and returns `True` or `False` as output.

# Answer
> 2 votes
# R using `numbers`, 59 bytes

```
f=function(n)which.max(sapply(1:n,numbers::Sigma)/(1:n))==n

```

# Answer
> 1 votes
# Japt v2.0a0, ~~12~~ 16 bytes

Sleep deprived brain can't seem to improve on this any further!

Returns `1` for truthy or `0` for falsey.

```
Æâ x÷U >Xâ x÷XÃ×

```

Try it

Sacrificed 4 bytes to handle `360360`.

---

## Explanation

* Implicit input of integer `U`.
* `Æ Ã` creates an array of integers from `0` to `U-1` and passes each through the following function as `X`.
* `â` gets the divisors of `U`.
* `÷U` divides each of those by `U`.
* `x` sums the results.
* gets the divisors of `X`.
* `÷X` divides each of those by `X`.
* `x` sums the results.
* `>` checks if the first result is greater than the second.
* `×` reduces the resulting array of booleans by multiplcation.

# Answer
> 1 votes
# APL (Dyalog), 33 bytes

```
{⍵=⊃⌽+⌿∘.≤⍨((+/⍳(/⍨)0=⍳|⊢)÷⊢)¨⍳⍵}

```

Try it online!

# Answer
> 1 votes
# Husk, 9 bytes

```
εü<m§ṁ/Ḋṫ

```

Try it online! Too slow for the 360360 test case.

## Explanation

```
εü<m§ṁ/Ḋṫ  Implicit input, say n=6.
        ṫ  Decreasing range: [6,5,4,3,2,1]
   m       Map this function (example argument k=4):
       Ḋ    Divisors of k: [1,2,4]
    §ṁ      Map and sum
      /     division by k: 7/4
           Result: [2,6/5,7/4,4/3,3/2,1]
 ü         Remove duplicates by
  <        strict comparison. This greedily extracts a non-decreasing subsequence: [2]
ε          Is it a singleton list? Yes.

```

# Answer
> 0 votes
# APL+WIN, 37 bytes

```
 ↑1=⍒⌽(+/¨((0=(⍳¨n)|¨n)×⍳¨n)~¨⊂0)÷n←⍳⎕

```

Prompts for screen input.

# Answer
> 0 votes
# C (gcc), 99 bytes

```
s(n,j,k){for(j=k=0;j++<n;)k+=n%j?0:j;n=k;}f(n,i,r){for(i=r=0;++i<n;)r=1.*s(n)/n<1.*s(i)/i?:r;r=!r;}

```

Try it online!

# C, 108 bytes

```
float s(n,j,k){for(j=k=0;j++<n;)k+=n%j?0:j;return k;}f(n,i,r){for(i=r=0;++i<n;)s(n)/n<s(i)/i&&++r;return!r;}

```

Try it online!

# Answer
> 0 votes
# Swift, ~~120~~ 118 bytes

```
let s={n in Float((1...n).reduce(0){n%$1>0 ?$0:$0+$1})}
{n in(1..<n).reduce(0){max($0,s($1)/Float($1))}<s(n)/Float(n)}

```

Takes some time (around 6 seconds on TIO) to compile because of the implicit type declarations in Swift.

Try it online!

# Answer
> 0 votes
# Jelly, 12 bytes

```
RÆs©Ṫ×R>®×$Ạ

```

Try it online! or Find all superabundant numbers below 1000.

because I hate floating points.

# Answer
> 0 votes
# Funky, 79 bytes

```
d=n=>fors=i=0i<=n i++s+=i*!n%i
f=n=>{forc=1c<n c++if(d(n)/n)<=d(c)/c return0 1}

```

## Explained

This first defines the function `d` which is the `σ` function, and this is the golfed version of

```
function d(n){
    var s = 0;
    for(var i=0; i<n; i++){
        if(n%i == 0){
            s += i;
        }
    }
    return s;
}

```

We can set i to 0, because `i*n%0` will always equal `0*...`, thus `0`.

The next half of this defines the function `f`, which is the Superabandunce function, and it is just the golfed form of

```
function f(n){
    for(var c=1; c<n; c++){
        if( (d(n)/n) <= (d(c)/c) ){
            return 0;
        }
    }
    return 1;
}

```

And this just checks, as the challenge spec suggests, that all integers from 1 to n-1 have a `d(n)/n` of less than the input.

Try it online!

# Answer
> 0 votes
# Perl 5, 84 bytes

```
say!grep$a[-1]<=$a[$_],0..(@a=map{$i=$_;my$j;map{$i%$_ or$j+=$_/$i}1..$i;$j}1..<>)-2

```

requires `-E` (free)

a straightforward implementation of the specification, golfed

# Answer
> 0 votes
# APL(NARS), 61 chars, 122 bytes

```
r←f w;m;k
r←m←0
r+←1⋄k←r÷⍨11πr⋄→3×⍳r≥w⋄→2×⍳∼m<k⋄m←k⋄→2
r←k>m

```

11π is the function sum of factors

```
  (⍳9),¨ f¨1..9
1 1  2 1  3 0  4 1  5 0  6 1  7 0  8 0  9 0
  f 360360
0

```

---
Tags: code-golf, number-theory, decision-problem, factoring
---


title: Interpret TwoMega

text:
# Question
Title: Interpret TwoMega
In this challenge, you will write an interpreter for **2Ω** (transcribed as **TwoMega**), a language based loosely on brainfuck with an infinite-dimensional storage space.

## The Language

2Ω contains three pieces of state:

* The **Tape**, which is an infinite list of bits, all initialized to 0. It has a leftmost element, but no rightmost element.
* The **Memory Pointer**, which is a nonnegative integer that is an index of an element in the tape. A higher memory pointer refers to a tape cell further to the right; a memory pointer of 0 refers to the leftmost element. The memory pointer is initialized to 0.
* The **Hypercube**, which is a conceptually -dimensional "box" of cells, each of which contains a bit initialized to 0. The width of the Hypercube is bound in every dimension to only 2 cells, but the infinity of dimensions means the number of cells is uncountable.

An **index** into the hypercube is an infinite list of bits that refers to a cell in the hypercube (in the same way that a finite list of bits could be used to refer to a hypercube of finite dimension). Because the tape is an infinite list of bits, the entire tape always refers to an element of the Hypercube; this element is called the **referent**.

2Ω gives meaning to 7 different characters:

* `<` decrements the memory pointer by 1. Decrementing it below 0 is undefined behavior, so you do not need to handle it.
* `>` increments the memory pointer by 1.
* `!` flips the bit at the referent.
* `.` outputs the bit at the referent.
* `^` replaces the bit at the cell pointed to by the memory pointer on the tape with the *inverse* of the bit at the referent.
* `[x]` runs the code `x` as long as the bit at the referent is 1.

## The Challenge

Your task is to write a program that takes a string as input and executes that input as a 2Ω program.

This is , so the shortest valid answer (measured in bytes) wins.

## Notes

* You can assume that the program will consist solely of the characters `<>!.^[]` and that `[]` will be properly nested.
* Your interpreter should only be limited by available memory on the system. It should be able to run the sample programs in a reasonable amount of time.

## Sample Programs

Print 1:

```
!.

```

Print 010:

```
.!.!.

```

Print 0 forever:

```
![!.!]

```

Print 0 forever, or 1 forever if `!` is prepended:

```
[.]![!.!]

```

# Answer
> 2 votes
# JavaScript (Node.js), 148 bytes

```
x=>eval(x.replace(e=/./g,c=>({'<':'u/=2','>':'u*=2','!':'e[v]^=1','.':'alert(+!!e[v])','^':'v=(v|u)^u*e[v]','[':'while(e[v]){'}[c]||'}')+';',v=u=1))

```

Try it online!

# It's turing complete

```
BoolFuck TwoMega
< >^>^>[!]^<<<<[!]^>>[!]!^>[!]!^>[!]!^<<<<(>^>^>1<<<<1>>0>0>0<<<<)
> ^<^<[!]^>>>>[!]^<<[!]!^<[!]!^<[!]!^>>>(^<^<1>>>>1<<0<0<0>>>)

```

Need init as moving right few places and init the current and right one bit of the address as 1 (`>>>>>>>>^>^<`)

Try it online!

Place `n` in BoolFuck is written as `(0, 0, ..., 0(n*0), [1], 1, 0, 0, ...)`.

For `>`, it does `n` =\> `n+1`

```
     0 0 0 0 0[1]1 0 0 0 0
^    0 0 0 0 0[x]1 0 0 0 0
<    0 0 0 0[0]x 1 0 0 0 0
^    0 0 0 0[y]x 1 0 0 0 0, yx != 01
<    0 0 0[0]y x 1 0 0 0 0
[!]^ 0 0 0[1]y x 1 0 0 0 0, (0yx10) = 0
>>>> 0 0 0 1 y x 1[0]0 0 0
[!]^ 0 0 0 1 y x 1[1]0 0 0, (1yx10) = 0
<<   0 0 0 1 y[x]1 1 0 0 0
[!]! 0 0 0 1 y[x]1 1 0 0 0, (1yx11) = 1
^    0 0 0 1 y[0]1 1 0 0 0
<    0 0 0 1[y]0 1 1 0 0 0
[!]! 0 0 0 1[y]0 1 1 0 0 0, (1y011) = 1
^    0 0 0 1[0]0 1 1 0 0 0
<    0 0 0[1]0 0 1 1 0 0 0
[!]! 0 0 0[1]0 0 1 1 0 0 0, (10011) = 1
^    0 0 0[0]0 0 1 1 0 0 0
>>>  0 0 0 0 0 0[1]1 0 0 0

```

Same to how `<` work

# Answer
> 2 votes
# Python 2, 167 bytes

```
t=h=I=0
m=1
E=''
for c in input():i='[<>!.^]'.find(c);E+=' '*I+'while+2**t&h: m/=2 m*=2 h^=2**t print+(2**t&h>0) t=t&~m|m*(2**t&h<1) #'.split()[i]+'\n';I-=~-i/5
exec E

```

Try it online!

**t** is the tape. **t = 6** means the tape is \[0 1 1 0 0 0 …\]

**m** is 2 to the power of the memory pointer. So **m = 8** means we're pointing at tape bit 3.

**h** is the hypercube. **h = 80** (bits 4 and 6 set) means the bits at \[0 0 1 0 …\] and \[0 1 1 0 …\] are set.

To read the bit at the referent, we check **2t & h**. To flip it, we perform **h ^= 2t**.

We translate the instructions to Python code and execute the result. **I** stores the indentation level of the while loops.

# Answer
> 1 votes
# Brain-Flak Classic, 816 bytes

```
<>(((<(())>)))<>{(([][][])(((({}){}[])({}))({})[]([][](({})(({}())(({}){}{}({}(<()>))<{<>({}<>)}{}>))))))(([]{()(<{}>)}{}){<((<{}>))<>(()(){[](<{}>)}{}<{({}[]<({}<>)<>>)}{}{}>)<>({()<({}<>)<>>}<<>{<>(({}){}<>({}<>)[])<>}{}<>({()<({}[]<<>({}<>)>)>}{})<>(({})<<>{({}[]<({}<>)<>>)}({}<>)<>{({}<>)<>}>)<>>)<>({}<>)<>>}{}([]{()(<{}>)}{}){{}<>({})(<>)}{}([]{()(<{}>)}{}){(<{}<>({}<{((<({}[])>))}{}{((<(())>))}{}>)<>>)}{}([]{()(<{}>)}{}){(<{}<>({}<({}())>)<>>)}{}([]{()(<{}>)}{}){(<{}<>[({})]<>>)}{}([]{()(<{}>)}{})<{((<{}>))<>{}({}<{<>(({}){}<>({}<>)[])<>}{}<>({()<({}[]<<>({}<>)>)>}{})<>(((){[](<{}>)}{})<<>{({}[]<({}<>)<>>)}{}(<>)<>{({}<>)<>}>)<>>)<>({}<>)<>}{}(<>)<>{({}<>)<>}{}>()){((({}[]<>){(<{}({}<>)>)}{}())<{({}<({}<>)<>((((((([][][]){}){}){}()){}){}({})())[][])>{[](<{}>)}{}{()(<{}>)}{})}{}({}<>)>[]){{}(<>)}}{}}

```

Try it online!

This code was written just so I'd have a place to write a proof of Turing-completeness.

## Proof of Turing-completeness

We show a reduction from Boolfuck to TwoMega:

```
Boolfuck   TwoMega
>          >>
<          <<
.          !^!.!^!
[          !^![!^!
]          !^!]!^!
+          !^[!]^[>!^<[!]!^>[!]!^<]

```

This translation stores the Boolfuck state in the even-numbered tape cells in TwoMega. All of the translated commands will preserve the following invariants:

* The memory pointer is at an even-numbered cell.
* All odd-numbered tape cells are zero.
* For any possible tape with all odd-numbered cells zero, the corresponding value on the hypercube is zero.

The snippet `!^!` will keep `[0]0` constant and swap between `0[0]` and `[1]1` (where attention is limited to the line on the hypercube reachable without moving the memory pointer). As such, it is used to temporarily put the current tape value into the referent for the Boolfuck commands which care about it.

If TwoMega were given an input command `,` with the expected semantics, the Boolfuck command `,` would translate to `>^<,!^>[!]!^<`. Since `,` is not necessary to prove that Boolfuck is Turing-complete, the lack of an input command does not affect this proof.

# Answer
> 0 votes
# Python 3, ~~297~~ ~~284~~ 274 bytes

*-10 bytes thanks to ovs and Jonathan Allan*

```
C=input()
h={}
t=set()
def f(C,p):
 c=C[0];r=hash(frozenset(t));v=h.get(r,0)
 p={"<":p-1,">":p+1}.get(c,p)
 if'"'>c:h[r]=not v
 if"."==c:print(int(v))
 if"]"<c:t.discard(p)if v else t.add(p)
 if"["==c:
  while f(C[1:],p):1
 else:return c=="]"and v or C and f(C[1:],p)
f(C,0)

```

Try it online!

# Answer
> 0 votes
# Pip, ~~75~~ 71 bytes

```
lPB0aR:^"!><[].^_""!:_
--viPU0
++v
W_{
}
O_
i@v:!_LFBilPB0
l@FBi"^n;Vau

```

Try it online!

Translates the 2Ω code into equivalent Pip code and evaluates it.

We use `i` to represent the tape, `v` for the tape pointer\*, and `l` for the hypercube. The first two come preinitialized to useful values; `l` starts as `[]`, to which we push a `0` (`lPU0`) to avoid indexing-empty-list problems.

* Actually, it's the bitwise negation of the tape pointer, because we're storing the tape backwards for easier conversion to decimal.

The rest of the code is:

```
aR:...;     Do a bunch of replacements in a, translating it into Pip code
       Va   Evaluate a
         u  Suppress output of the final expression that was evaluated

```

The translation table:

```
!  !:_
>  --viPU0
<  ++v
[  W_{
]  }
.  O_
^  i@v:!_LFBilPB0
_  l@FBi

```

`l@FBi` is the referent: element of hypercube `l` at the index (convert `i` from binary). It appears often, so we call it `_` and replace `_` with the real code at the end.

* `!:_` logically negates the referent in place.
* `--viPU0` decrements `v` (moving the tape pointer to the right); it then pushes another `0` to the left side of `i`, to make sure that the tape pointer stays in bounds.
* `++v` increments `v` (no need for bounds-checking, per OP).
* `W_{` runs a loop while the referent is truthy (i.e. nonzero, i.e. `1`).
* `}` closes the loop.
* `O_` outputs the referent without newline.

Finally, for `^`:

```
i@v:            Set the current tape cell to
    !_          The logical negation of the referent
                Now, make sure the list representing the hypercube is long enough:
      LFBi      Loop frombinary(i) times:
          lPB0  Push another 0 to the end of l
                This ensures that FBi will always be a valid index into l

```

---
Tags: code-golf, interpreter, brainfuck
---


title: Convert ASCII art numbers to integers

text:
# Question
Title: Convert ASCII art numbers to integers
Inspired by this game

# Challenge:

Given an ASCII art string representing a number, output that number.
Example:

```
Input:

  &&&&      #####    .====..    .&&&
 $$$$$.    %%   %%   %    % .   +. .
   @@@  .      @@ .  = .  =   . ????
   +++.    &&   &&.  %    %     =   =
   $$$    . @@@@@    #    #  .  ===.
 .$$$$$              .????.

Output: 1306

```

```
Input:

  ====     .$$..      &&&&&&.    .@@@@    ?????
 +++++     &. &           $$    %%   %%  &&   &&
   $$$     .==.          @@ .   @@   @@ .    ??
.  ### .   @  @  .      ==     $$$$$$$$  ??. .??
. .@@@.    .%%.        ==           .$$   &&&&&  .
  $$$$$. .            .%        .    @@ .

Output: 18743

```

Periods are interference, you can ignore them
The complete list of numbers:

```
 &&&&
%    %
=    =
%    %
#    #
 ????

 &&&&
$$$$$
  @@@
  +++
  $$$
 $$$$$

 #####
++   ++
 #  ##
   @@
  @@
???????

 #####
%%   %%
    @@
&&   &&
 @@@@@

   @@@@
 %%   %%
 @@   @@
$$$$$$$$
      $$
      @@

######
$
####
    +
    ?
$$$$$

 &&&
+
????
=   =
===

&&&&&&
    $$
   @@
  ==
 ==
 %

 $$
&  &
 ==
@  @
 %%

 &&&&
@    @
 &&&&
    $
    &
  +

```

# Rules:

* Your input is a **string** unless your language doesn't have a string type.
* The input is guaranteed to be exactly 6 characters "high." Numbers such as 8 and 3 have a whitespace buffer UNDER the number.
* If you write a function, it MUST return a numerical type.
* The ASCII art can be composed of ANY printable characters in no particular order (remember, you can ignore periods).
* No standard loopholes.
* Your program must handle any arbitrary ASCII number of reasonable length (as long as the result fits within a 32-bit signed integer).
* Input is guaranteed valid, undefined behavior is allowed with bad input.
* This is code-golf, shortest program wins.
More tests:

```
  $$$$     ######     @@@@  . .  .%%%%    #####
 #####     $ .       =====..  . ##   ##  ++   ++
   +++     ####.       +++.     ==   ==   #  ##
   ===     .   +       ###  .  ========.    @@
  .&&&    .  . ?   . . @@@           ##    @@    .
  %%%%%    $$$$$      #####          @@  ???????

> 15142

 .&&&&.    ??????     @@@@@      .++++
 @    @    + .       ==   ==    %%   %%
 .&&&&.    ####..     =  == .   ++   ++
  .. $         &        $$     $$$$$$$$.
 .   &.      . #       && .          ##
   +.   .  #####     $$$$$$$        .==

> 9524

```

# Answer
# Jelly, ~~35~~ ~~33~~ 34 bytes

```
Ỵe€€⁾ .¬ZḄṣ0§ḟ0%29“h½sØ?X’ḃ26¤iⱮ’Ḍ

```

Try it online!

When I started writing this, The question didn’t specify that the width of digits was fixed, so my answer doesn’t make that assumption.

Input is now a string (which costs a byte over having a list of strings). Output is an integer.

Explanation:

```
Ỵ                         | split at new lines
e€€⁾ .                    | For each character check whether it is a
                          | full stop/space or something else
      ¬                   | invert this
       Z                  | transpose
        Ḅ                 | convert from binary to decimal (one number per column of input)
         ṣ0               | split at zeroes (blank columns)
§                         | take the sum of each digit
 ḟ0                       | filter out remaining blank columns
   %29                    | take this number mod 29
      “h½sØ?X’ḃ26¤iⱮ      | look each digit up in a compressed list
                          | [18, 23, 6, 5, 1, 19, 13, 21, 8, 25]
                    ’     | subtract one
                     Ḍ    | convert to decimal

```
> 4 votes

# Answer
# 05AB1E, 34 bytes

```
'.ð:.B€SðÊøJC0¡O0K29%•!aˆM©м•₂вskJ

```

Port of *@NickKennedy*'s Jelly answer, so make sure to upvote him!
PS: Knowing the width of the digits is pretty useless if the amount of space columns in between digits can vary..

Try it online.

**Explanation:**

```
'.ð:                              '# Replace all dots with spaces
    .B                             # Split on newlines
      €S                           # Convert each line to a list of characters
        ðÊ                         # Check of each character if it's NOT equal to a space
          ø                        # Zip/transpose; swapping rows/columns
           J                       # Join each column together
            C                      # Convert each from binary to an integer
             0¡                    # Split on 0s
               O                   # Sum each inner list
                0K                 # Remove 0s
                  29%              # Take modulo-29 on each
                     •!aˆM©м•      # Push compressed integer 102583844953589
                             ₂в    # Converted to Base-26 as list:
                                   #  [18,23,6,5,1,19,13,21,8,25]
                               sk  # Index the earlier number into this list
                                 J # Join everything together (and output implicitly)

```

See this 05AB1E tip of mine (sections *How to compress large integers?* and *How to compress integer lists?*) to understand why `•!aˆM©м•` is `102583844953589` and `•!aˆM©м•₂в` is `[18,23,6,5,1,19,13,21,8,25]`.
> 2 votes

# Answer
# Jelly, 29 bytes

```
⁾. yỴ=⁶s€⁵ZẎ€Ḅ:434ị“¡£:E’Œ?’¤

```

A monadic Link accepting a list of characters which yields a list of digits, or a full program accepting a single text argument which prints the digits.

(Requires padding on the right with spaces such that each digit has a width of ten characters, including the right-most one, which I believe is OK.)

**Try it online!** ...or try the other test case here.
> 2 votes

---
Tags: code-golf, string, ascii-art
---


title: Offset in split text content

text:
# Question
Title: Offset in split text content
You will be given an ASCII text. This text may have zero, one or many appearances of a split a character (let's assume it will be the space character )
You will also be given an offset integer value (zero based) anywhere between zero and the length of the text.

You should calculate the relative offset inside the one split text, which contains the absolute offset, as well as the index of that very split text.
If the given offset is at the split character the last split should have the offset

It's hard to describe (comments welcome), so here are some examples

```
text: Lorem ipsum dolor sit amet
offset: 20

Lorem ipsum dolor sit amet
enter code here
--------------------^
000000000011111111112
012345678901234567890

Result: 2, 3
Explanation: If we split the text along the space characters, the split text, where the offset is in, is the fragment `sit` which is the 3rd split (count starts at zero) and the offset inside this fragment is 2
sit
--^
012

```

Some more examples

```
Text                           Offset        Result
Lorem ipsum dolor sit amet     0             0, 0
^
Lorem ipsum dolor sit amet     1             1, 0
-^
Lorem ipsum dolor sit amet     2             2, 0
--^
Lorem ipsum dolor sit amet     3             3, 0
---^
Lorem ipsum dolor sit amet     4             4, 0
----^
Lorem ipsum dolor sit amet     5             5, 0
-----^
Lorem ipsum dolor sit amet     6             0, 1
------^
Lorem ipsum dolor sit amet     7             1, 1
-------^
Lorem ipsum dolor sit amet     8             2, 1
--------^
Lorem ipsum dolor sit amet     9             3, 1
---------^
Lorem ipsum dolor sit amet     10            4, 1
----------^
Lorem ipsum dolor sit amet     11            5, 1
-----------^
Lorem ipsum dolor sit amet     12            0, 2
------------^
Lorem ipsum dolor sit amet     13            1, 2
-------------^
Lorem ipsum dolor sit amet     14            2, 2
--------------^
Lorem ipsum dolor sit amet     15            3, 2
---------------^
Lorem ipsum dolor sit amet     16            4, 2
----------------^
Lorem ipsum dolor sit amet     17            5, 2
-----------------^
Lorem ipsum dolor sit amet     18            0, 3
------------------^
Lorem ipsum dolor sit amet     19            1, 3
-------------------^
Lorem ipsum dolor sit amet     20            2, 3
--------------------^
Lorem ipsum dolor sit amet     21            3, 3
---------------------^
Lorem ipsum dolor sit amet     22            0, 4
----------------------^
Lorem ipsum dolor sit amet     23            1, 4
-----------------------^
Lorem ipsum dolor sit amet     24            2, 4
------------------------^
Lorem ipsum dolor sit amet     25            3, 4
-------------------------^
Lorem ipsum dolor sit amet     26            4, 4
--------------------------^

```

# Answer
> 3 votes
# Python 3.8, 56 bytes

```
lambda a,b:(x:=a[:b].split(' '))and[len(x[-1]),len(x)-1]

```

Try it online!

# Answer
> 3 votes
# Perl 5, ~~47~~ 44 bytes

```
$_=substr$_,0,<>;/.* /;$_=$'=~y///c.$".y/ //

```
* `$_=substr$_,0,<>;` to extract first n (from nextline \<\>) characters of input `$_` and store in default argument.
* `/.* /` to match largest string ending with space
* `$_=$'=~y///c.$".y/ //` default argument `$_` (which will be printed `-p` option) is set with concatenation `.` of length of post-match : `$'=~y///c`, `$"` space (list argument delimiter when interpolated betwen double quotes), and `y/ //` number of spaces in current default argument.

TIO

# Answer
> 3 votes
# Stax, 5 bytes

```
╓ò)♣*

```

Run and debug it

Unpacked, ungolfed, and commented, it looks like this.

```
(       trim string to length
j       split on spaces
N       remove last element from array and push separately
W       until the stack is empty...
  %P    pop element and print its length

```

Run this one

# Answer
> 2 votes
# 05AB1E, 9 bytes

```
£ð¡¤gsg<‚

```

Port of *@JonasAusevicius*'s Python 3.8 answer, so make sure to upvote him as well!

Try it online or verify all test cases.

**Explanation:**

```
£         # Only leave the first (implicit) input-integer amount of characters
          #  of the (implicit) string-input
 ð¡       # Split this by spaces
          # (Note: builtin `#` doesn't work here, because a string without spaces
          #  would not be wrapped in a list)
   ¤g     # Get the length of the last string in the list (without popping the list itself)
     sg<  # Swap to get the list again, and get it's length minus 1
        ‚ # Pair both integers (and output the result implicitly)

```

# Answer
> 2 votes
# JavaScript (Node.js), ~~75~~ ~~70~~ ~~69~~ ~~70~~ ~~68~~ 67 bytes

```
t=>o=>[o+~(s=t.substr(0,o)).lastIndexOf(' '),s.split(' ').length-1]

```

Try it online!

No space parameter, only hardcoded (+ 2 bytes)
-2 bytes thanks to inspiration from the Java answer by Kevin Cruijssen
-1 byte thanks to zevee

# Answer
> 2 votes
# C# (Visual C# Interactive Compiler), ~~79~~ ~~77~~ ~~75~~ ~~63~~ 60 bytes

```
a=>b=>((a=a.Substring(0,b).Split())[b=a.Length-1].Length,b);

```

8 bytes saved thanks to Kevin Cruijssen and a further 3 bytes saved thanks to Embodiment of Ignorance

Try it online!

# Answer
> 1 votes
# APL+WIN, 33 bytes

```
(1++/m),n-¯1↑(m←(m←n↑⎕)=' ')/⍳n←⎕

```

Try it online! Courtesy of Dyalog Classic

1 Indexed

Prompts for index of character in full text string followed by string

Outputs index of character in nth substring and substring number

# Answer
> 1 votes
# Java 8, ~~83~~ 75 bytes

```
n->s->n+~(s=s.substring(0,n)).lastIndexOf(" ")+","+~-s.split(" ",-1).length

```

-8 bytes implicitly thanks to inspiration from *@yunzen*'s JavaScript answer.

Try it online.

**Explanation:**

```
n->s->                   // Method with integer & String parameters and String return-type
  n+~                    //  Return `n` minus 1, minus the following:
     (s=s.substring(0,n))//   Set `s` to the first `n` characters of input-String `s`
      .lastIndexOf(" ")  //   and get the index of the last space
  +","                   //  Appended with a comma-delimiter
     s.split(" ",        //  Split the new `s` by spaces
                 -1)     //  and keep empty trailing items
  +~- ... .length        //  And append the amount of items minus 1 to the result

```

# Answer
> 1 votes
# Jelly, 7 bytes

```
ḣḲẈṪ,LƊ

```

A dyadic Link accepting a list of characters on the left and the 0-indexed index on the right which yields a list of integers, `[character, word]`, again 0-indexed.

**Try it online!**

# Answer
> 1 votes
# JavaScript (ES6), 56 bytes

Takes input as `(offset)(string)`.

```
n=>g=([c,...a],b=i=0)=>n--?g(a,b+!(i+=c!=' '||-i)):[i,b]

```

Try it online!

### Commented

```
n =>                 // n = desired offset in string
  g = (              // g = recursive function taking:
    [c, ...a],       //   c = current character; a[] = array of remaining characters
    b =              //   b = index of current block
    i = 0            //   i = current position within the current block
  ) =>               //
    n-- ?            // if we haven't reached the desired offset:
      g(             //   do a recursive call to g:
        a,           //     pass the array of remaining characters
        b + !(       //     update b:
          i +=       //       update i:
            c != ' ' //         increment i if the current character is not a space
            || -i    //         or set i to zero if it is
        )            //     increment b if i was set to zero, or leave it unchanged otherwise
      )              //   end of recursive call
    :                // else:
      [i, b]         //   stop recursion and return [i, b]

```

# Answer
> 0 votes
# Bash, 66 bytes

```
z=$(echo ${i:0:o});echo $z|sed 's/^.* //g'|wc -c;set -- $z;echo $#

```

1-indexed. `$i` contains the input, and `$o` contains the offset

Explanation:

```
z=$(echo ${LDS:0:o});          # delete the rest of the word
echo $z|sed 's/^.* //g'|wc -c; # remove anything up to the last word, and count what's left.
set -- $z;echo $#              # find the number of words after the stuff after the offset is deleted

```

# Answer
> 0 votes
# Charcoal, 14 bytes

```
≔⪪…ＳＮ θＩ⟦Ｌ⊟θＬθ

```

Try it online! Link is to verbose version of code. Explanation:

```
≔⪪…ＳＮ θ

```

Truncate the input string to the given length and split on spaces.

```
Ｉ⟦Ｌ⊟θＬθ

```

Extract the last string and take its length, then take the number of remaining strings, cast both lengths to string and implicitly print them on separate lines.

# Answer
> 0 votes
# Retina 0.8.2, 50 bytes

```
^.+
$*
^(1)*¶((?<-1>.)*).*
$2
^(.*? )*(.*)
$.2,$#1

```

Try it online! Takes input in the order offset, string. Explanation:

```
^.+
$*

```

Convert the offset to unary.

```
^(1)*¶((?<-1>.)*).*
$2

```

Truncate the string to the given length. This uses .NET's balancing groups to count the same number of characters in each string.

```
^(.*? )*(.*)
$.2,$#1

```

Count the number of spaces and the number of characters after the last space and output them in decimal in reverse order.

# Answer
> 0 votes
# Ruby, ~~53~~ 48 bytes

```
->s,n{t=s[0,n];[n-t[/.* |^/].size,t.count(" ")]}

```

Try it online!

---
Tags: code-golf, text-processing
---