Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jwilkes/purr-data
  • aggraef/purr-data
  • samthursfield/purr-data
  • prakhar/purr-data
  • yadu05/purr-data
  • NegiAkash890/purr-data
  • prateekpardeshi/purr-data
  • Shruti3004/purr-data
  • hidimpu/purr-data
  • Atseosi/purr-data
  • piyushjasaiwal/purr-data
  • deveshprasad/purr-data
  • skm_7/purr-data
  • sankt/purr-data
  • ashim_tom/purr-data
  • dineshsoni02/purr-data
  • chaitanya1-coder/purr-data
  • Nitish0007/purr-data
  • nitin/purr-data
  • shuvam09/purr-data
  • gabrielabittencourt/purr-data
  • sivasai/purr-data
  • flachyjoe/purr-data
  • ishankaler/purr-data
  • prateek/purr-data
  • RukshanJS/purr-data
  • rajatshrm648/purr-data
  • Srashti/purr-data
  • Paarth/purr-data
  • AniruddhaGawali/purr-data
  • brittneyjuliet/purr-data
  • prakharagarwal1/purr-data
  • Shreyanshpaliwalcmsmn/purr-data
  • k_amrut/purr-data
  • AyushAnand/purr-data
  • Va16hav07/purr-data
36 results
Show changes
SOM:
10 10 10 INSTAR
0.999999999999999 0.999999999000000 0.000000000000000
0.999999500000777 0.999999999666666 1.000000000000000
weights:
-3.399999539504940 -1.000001787943173 -1.600001854036666 -3.600000136648053 -1.599999240440176 -4.599999658971642 2.200000908266854 -2.600003123982305 -3.800002398132818 3.999999663428766
-3.664408811633732 -0.293151033136177 -0.987533543750226 -2.380008660046391 -1.570271300167646 -4.070760204272482 1.171876563866566 -2.077239071278385 -3.123878873088140 3.214371110932181
-3.850183412803100 0.180009854785169 -1.042011297665122 -1.010214762676719 -1.261593950708803 -3.602933720042998 0.223488363849274 -1.757965969969787 -2.823378035872298 2.474907850267799
-3.267525288182409 0.051764920257421 -0.861189147291411 0.346768964752324 -1.086401295987099 -3.010025855790309 0.216062192056090 -2.054030541621496 -1.665247654188838 1.772114086164674
-2.531908811257504 -0.228362572156031 0.283020028903598 0.691545049584991 -1.317946071617238 -2.780427630196057 0.669072905841086 -2.095166482257043 -0.357067595055914 1.194836568762597
-1.670410067094406 -0.850456374464438 1.177079303231737 0.975765076637809 -1.598632087371286 -2.628074788624443 1.200071995849616 -2.338536290646471 0.508359948325128 0.694655469059352
-0.972839748009842 -1.432819542418945 1.713902285702235 0.848126099774984 -2.005987681503301 -2.656928282231532 1.910400404106563 -2.720742652779477 0.819178516157051 0.589653431079632
-0.181959862063861 -2.296825850005490 2.030276137478258 0.600072266047657 -2.328238768604089 -2.471193059455867 2.614251703556634 -2.926274832306241 0.937736319882752 0.422230237292192
0.752475921921809 -3.242568234927249 2.234683205252513 0.075381526534909 -2.508993189104597 -2.190834422631923 2.869101479640665 -3.069685358187795 0.463639150130185 -0.033986007249940
1.277032296769330 -3.659437432736417 2.010782182321743 -0.609641757048304 -2.339016786301861 -1.892952692573185 2.235093837136930 -2.920928645403118 -0.457322232707949 -0.578395974587059
-3.971512172049805 0.535219847945980 0.494113424082311 -2.582046278675071 -2.275648808854488 -3.787217325944574 0.753567475134825 -0.721689335652595 -2.056146292175192 3.505331826210551
-4.054055616227821 0.932795291484099 0.631968910358146 -1.799211174553179 -2.022685392946360 -3.707165267473070 0.170647464385876 -0.435571670292075 -1.647185583588689 2.895748631363134
-3.765892834013276 1.095177178532050 0.685794072420971 -0.865949940711560 -1.533237720537425 -3.325717046871432 -0.074461110943200 -0.540958941347474 -0.835723101096425 2.109037567803126
-3.037394336772935 0.772399801058053 0.783553802543503 -0.058950070759195 -1.165140010270036 -2.981706324180395 0.301761694648107 -1.145806179670528 0.235066868471340 1.384374535507638
-2.280475415697267 0.288903162781809 0.942579785873891 0.373043941841189 -0.973589743321277 -2.689381829286646 0.880714123064687 -1.773515781273200 1.081885235242567 0.905503502941021
-1.638763016008856 -0.139510716533679 1.437726642778894 0.329242139981553 -1.214048517928209 -2.337604934232495 1.529414776710072 -2.023920697334945 1.823470865818372 0.912449978862522
-0.945934490385355 -0.836910826889674 1.712152920482545 -0.043443967439232 -1.391531518537718 -1.996208920351949 2.320373555929382 -2.190744080167090 2.309937603321630 0.956359142316148
-0.430544809301166 -1.606495407822214 1.927949686845192 -0.049422629796747 -1.715543639664755 -1.932688381640353 2.907578129583055 -2.358268980262620 2.352761416651015 0.890909090472789
0.266372476041017 -2.390096871515600 1.931600793742831 -0.418452141153263 -1.752463769962683 -1.711941696941028 3.074265804116516 -2.347539237000312 1.959481993185272 0.401646855108980
1.095070232478888 -3.194254596681922 1.847047929883143 -1.041482644766594 -1.770291204210838 -1.433477834329486 2.939212440990236 -2.356707426618038 1.185541942497902 -0.227465763847785
-4.348457780362172 1.721596963861671 2.135183134445781 -2.111922371925352 -2.849150791380807 -3.246885574156561 -0.202235625571466 0.973985501026858 -0.706570778236533 3.339732955342597
-4.368228087686579 1.891149920060809 2.036230106119791 -1.584919277263748 -2.542857897804340 -3.320834155076582 -0.516257946664443 0.988803066251542 -0.521998208876602 2.883873294268708
-3.725549256069052 1.627180482527442 1.764676337041121 -0.869211830235964 -1.824200701893774 -3.028625730293222 -0.198174242141376 0.255468576666172 0.338992094886507 2.079356408167663
-2.939301247469378 1.153901448846943 1.515154079925773 -0.221551633876666 -1.260643080102328 -2.803647915219608 0.357719170064413 -0.674190366362191 1.265120767907391 1.373221591802172
-2.213210917665466 0.678905587923122 1.399888089179242 0.016031973635967 -0.916287941766233 -2.462123276319008 1.049231814138565 -1.424137218878687 2.077511955210475 1.053768497550434
-1.404549258833299 0.020354228789675 1.600536790199509 -0.341838032506697 -0.935092415097975 -1.800099492021683 2.037377390563832 -1.826035730696359 2.844161435811415 1.223301776599643
-0.959145511724675 -0.366120237851367 1.798835596447404 -0.688360304163465 -1.042189229628116 -1.395081958669074 2.643253309229007 -1.940494331186044 3.287658092882610 1.436852655212540
-0.579664979821490 -0.932097345154356 1.811885038506246 -0.765785493000138 -1.132913929893135 -1.348690574070790 2.856968802005087 -1.945734626475421 3.134557629545438 1.185697939467433
0.066873477117855 -1.843407992257171 1.757844703442099 -0.998512222771418 -1.166507719716280 -1.234750848424435 3.074504603488980 -1.846014258289374 2.790959475244524 0.639495890830501
0.875857253425398 -2.844032956923656 1.650791940139746 -1.435710192921676 -1.138889813201329 -1.010730095187110 3.195197431772648 -1.715636473908582 2.275154266475604 -0.033123061421149
-4.660625162011301 2.536800912741440 3.310215647546826 -1.983579949583983 -3.423705573642091 -2.970677708592821 -0.756803150219801 2.252324334361614 0.284627008985896 3.523223937670081
-4.607867248041779 2.503561303070671 3.029252711516285 -1.654005941807064 -3.049345998530499 -3.053166574278017 -0.861813032578485 2.017974391763137 0.206458481746841 3.139965727251893
-3.773609416123212 1.934895146436837 2.392483051717743 -0.993943430433647 -2.072519242014490 -2.814572222932298 -0.258321491195720 0.799625737773807 0.879593690694208 2.231466783603429
-2.789602347490602 1.343801926635191 1.698599312341219 -0.559149669333931 -1.189828623687061 -2.505666965663313 0.438264892843017 -0.457625681891893 1.756734457438183 1.418342176391699
-2.038759034050031 0.870152115398651 1.307059888851808 -0.427694889424221 -0.649211909264716 -2.170456657641060 1.185846061504038 -1.377242076488896 2.585846027652366 1.092907465451668
-1.171850445387268 0.100149499849393 1.561545417456040 -0.816960421989819 -0.703721283275723 -1.378336808645001 2.339949780122510 -1.843014925682711 3.331994289954238 1.376806053959631
-0.999999719955215 -0.000000585903002 1.999999098935982 -0.999999895520345 -0.999999462989936 -1.000000523078658 2.999999033998634 -1.999999681036223 3.999998544001918 1.999998416944344
-0.632308039509177 -0.562919825459804 1.737301575691706 -1.076794263075418 -0.871062099117383 -1.079040498612489 2.865941514133621 -1.864309015004479 3.517763874620793 1.342403707361689
0.072590611318608 -1.709026564177329 1.665973803994893 -1.366041769133752 -0.871562894498242 -0.924348357378998 3.137089544753133 -1.567338836721053 3.214040260107593 0.725221564872169
0.829922257690500 -2.791581448806690 1.477798632898677 -1.869606992739973 -0.691062853043055 -0.643647750714432 3.372214900102174 -1.218219255031402 2.943578925893897 0.075298555997860
-4.999999004353584 2.999999255273971 3.999998912072895 -1.999999916896756 -3.999998574535363 -2.999999472519682 -0.999999734527485 2.999998897952910 0.999998555483149 3.999998419257559
-4.717780845547964 2.775399091467099 3.515321901184576 -1.749949407257044 -3.298073799157822 -2.893666329793864 -0.988638593622910 2.521571524995959 0.537560926712989 3.306252132316069
-3.755572133400923 2.203112857752405 2.588134581424009 -1.332106785852384 -1.967832435433027 -2.499354290910485 -0.350383495379875 1.161924876277133 1.118184609133092 2.240016661417358
-2.666049303802033 1.550296860180113 1.693341696663998 -1.045558905111629 -0.975893960345571 -2.116065839009405 0.380721435329468 -0.188824421003278 1.836404564135224 1.385425537121163
-1.795415457314572 0.918241113126461 1.188838556813491 -0.940813596944324 -0.426024437595116 -1.760646815922883 1.209073456823901 -1.258638064983849 2.513483205516858 1.013762646429432
-1.037470490324593 0.211258860853280 1.208890079664495 -1.093277407156780 -0.323824850816071 -1.250814015199257 2.133236509527560 -1.806522602674094 3.171683862480717 1.040573130488526
-0.816325205714192 -0.106895812594265 1.477151645461617 -1.180810581642213 -0.555354411025112 -1.055266982509300 2.581958332355970 -1.855023621673544 3.483803556197770 1.299872752926741
-0.479760079224889 -0.561914191543606 1.359972152054708 -1.371904515162111 -0.469189009488387 -0.933448824516167 2.692773206515344 -1.734660038032981 3.371131387438572 1.012107824401405
0.134474570602915 -1.554904283538802 1.245608616665024 -1.763351294435943 -0.343488968633248 -0.699151155618663 2.975961301908113 -1.377994287902666 3.215526724546621 0.515544464149479
0.897368163675452 -3.162279510658690 1.367543791932125 -2.264911550472457 -0.367544176957526 -0.367544359975328 3.632455355362551 -0.735088546376173 3.367542748906255 0.102631499765101
-4.434684152637360 2.822722937159019 3.753296681033132 -1.932017924244420 -3.405786070903065 -2.539967076432358 -1.082934359810601 2.927733973174099 0.601717183345303 3.143965264537201
-4.364716228159867 2.801488480535435 3.433822426223437 -1.778495984171522 -2.877245061571190 -2.535400708597968 -1.087090211423334 2.578941545180213 0.551720396658055 2.791716027932460
-3.583510369081803 2.381662217070830 2.469063426475504 -1.618290495134485 -1.696964102791638 -2.238310462068634 -0.619139734267236 1.418541000549897 0.947026968179092 1.917870437038182
-2.456675163251826 1.732611459083983 1.418190188110553 -1.551425276661983 -0.564950194587570 -1.804435464166054 0.186328643021739 -0.012555406317352 1.662033083876830 1.086636849245845
-1.529104937517096 1.178077657015140 0.714495908349704 -1.583908396073388 0.202962066775853 -1.372147858864397 0.926176304801837 -1.094899971431338 2.303198368073808 0.560662287373262
-0.785939038323318 0.488059056610979 0.411695603408276 -1.672791049733762 0.529916275580196 -0.996155724726522 1.680222615552275 -1.721811103321440 2.800716449029725 0.354838370044879
-0.569029962760953 0.066431468474963 0.618079516577042 -1.692210147716420 0.299309261472352 -0.882271357282218 2.062281505229379 -1.722299694603762 2.996236089696472 0.511874475670676
-0.250018522843921 -0.514832002632169 0.616278558718485 -1.840772015274815 0.272995435360592 -0.740535838501878 2.301520832755083 -1.552354419288309 2.940931230404983 0.354967057944476
0.251800148920061 -1.464207818135621 0.601343683463328 -2.148222841127547 0.317094840922319 -0.552594270425859 2.639268432510555 -1.197173773408314 2.762688059763771 0.017852103476386
0.932318870939532 -2.837790556746765 0.699115191478530 -2.469675844977578 0.219866286695009 -0.355885542350070 3.132995033730602 -0.705545256877810 2.571423101722232 -0.404238609478870
-3.409130348455066 2.320342843023009 3.433021140904054 -1.986354357329427 -2.669872992752881 -1.903620196472319 -1.226643656478325 3.001494681715124 0.434874098975972 2.004508159421472
-3.486936690660387 2.454343393773537 2.953049651556981 -1.897026330204475 -2.032262871073851 -2.040910161440657 -1.171924050724737 2.387876699287988 0.502049144039390 1.843557783465804
-3.046450654987764 2.390179669699468 1.978015599632370 -1.998378427668385 -0.948564526771488 -1.888346267780865 -1.036094204014821 1.563892681764842 0.655088413749008 1.126246851333170
-1.987885281145493 1.870394550257920 0.729204205356671 -2.108729201400681 0.279930327257761 -1.408247369279901 -0.149786767925481 0.030537924826345 1.431534134693400 0.387621996084839
-0.990560474224238 1.349885104573934 -0.350057510301517 -2.356203724531257 1.347798812812471 -0.904408431627084 0.624831179540335 -1.189860976028219 2.056642405604107 -0.254008704439007
-0.451723052804189 0.948538698853010 -0.762990738677392 -2.512724311355281 1.753236881552716 -0.600759948081675 1.149260944365514 -1.749117007355057 2.462390702425005 -0.453614225752723
-0.342821714944710 0.456585526946645 -0.544845985800462 -2.437549938090235 1.498311526358241 -0.592380470240897 1.460378207963043 -1.627970879648795 2.453575186249362 -0.332371207431372
-0.090990452026912 -0.326043205753642 -0.420398629284450 -2.490392167778460 1.379016037918900 -0.526974546179914 1.786136703527057 -1.290604598070746 2.215561566922310 -0.401045908423606
0.351500638550009 -1.459809654300966 -0.373727620750562 -2.732391989343216 1.376803667781824 -0.362308436365718 2.221269039120766 -0.767954404806289 1.820126757794739 -0.628560714447123
0.843261411436526 -2.801998786283713 -0.309734000604769 -2.917966469514248 1.277764799306769 -0.283448036136064 2.668380578732439 -0.191266064689723 1.336611020116643 -0.982474545585568
-1.690961991805014 0.986821342687000 2.566488957752868 -1.693900834686384 -1.390621841174322 -1.376658418436758 -1.593116188592552 2.869825763341280 0.961185905131165 0.318844343230768
-1.819226346519956 1.427372656904706 2.291452456605057 -1.960690512433880 -0.718701577617367 -1.374629923794903 -1.523478798811880 2.318501649523097 0.921861723272286 0.353075469279607
-1.644122345022504 1.622108444420580 1.297562049314988 -2.204630777532875 0.340394567223048 -1.286572647222278 -1.243715476861932 1.355795042542949 1.014071291046899 -0.135483871679969
-1.022123317714853 1.724408850245733 -0.334785848670425 -2.648334475672161 1.722298924484380 -0.899684746335653 -0.633190066026943 -0.052843534365775 1.304371688135208 -0.867017932134152
-0.191012263608328 1.428540433034303 -1.866762691470496 -3.140759777809166 3.004461584173736 -0.354850744609877 0.274526644431307 -1.525118463713176 1.861795047810275 -1.459383030263442
-0.175378396100470 1.649241876975675 -2.123107256089547 -3.473863921578540 3.123107227621487 -0.175378898457855 0.526135470365211 -1.999998989484299 2.350755463675390 -1.298486336870563
-0.119128676805872 0.791424159624606 -1.728712745773501 -3.164164671298855 2.707755508375711 -0.330842108230214 0.897806012291794 -1.538229801138516 1.846525508519994 -1.148198013380010
0.076085774644685 -0.357381756904083 -1.537048935229785 -3.176752378539767 2.611733421835105 -0.321108182103196 1.357299105186912 -0.847638634570576 1.174366272176676 -1.113909923860420
0.316320681261502 -1.597273306928110 -1.396596931653985 -3.209403902412908 2.570346236568042 -0.349214486018947 1.776916438878030 -0.099276574925412 0.476605495492240 -1.189400523880245
0.663585781423105 -3.089606376458373 -1.397727254839511 -3.366808341347761 2.534144690485831 -0.300631312243230 2.240648481237960 0.683770788564218 -0.411030691352247 -1.501601595339585
0.985227351508375 -1.648803714247017 1.030378243219446 -1.108938371643821 1.085345508276510 -0.661127492947246 -1.960002854143423 2.350339312562235 2.198981169026821 -2.011751484405538
0.685012171036041 -0.797814233333862 1.015167572478179 -1.259081584039024 1.295653363745759 -1.020849845817081 -2.471105487510094 2.035534513596478 2.392763915072213 -1.881109820501258
0.686457158597548 -0.305478783587042 0.484491358383779 -1.895714641521794 2.298100526227314 -0.769266236685295 -2.290347736290570 1.356292058594735 2.221231655718122 -2.289248837821189
0.724873185324239 0.462154627339358 -1.112888983140423 -2.525930918118195 3.201684237966901 -0.398264710502263 -1.134521688861845 -0.147908293718716 2.053750911650593 -2.329125395622599
0.345904723062259 0.975228187711387 -2.249910548251781 -3.187360830514074 3.481724376298728 -0.208598715262249 -0.083968301693121 -1.162839431456146 1.639867915163044 -1.980969679664417
0.166565766418578 1.042210051033558 -2.786104501948422 -3.644236995374659 3.733641111367612 -0.114445549141647 0.271659185917542 -1.442800518024824 1.337210256303109 -1.971230068975365
0.081154971433170 0.445914374820914 -2.800724283783551 -3.703825990014068 3.788330455815418 -0.169816536600233 0.539189650157745 -0.975698322917413 0.627755733594187 -1.894174291660718
0.096276029706030 -0.689504547336024 -2.509213626516561 -3.608954696301073 3.699244676999937 -0.299082857107967 0.987925121293636 -0.131004590450965 -0.223525503701646 -1.696560706323150
0.221838062238937 -1.905655309050296 -2.034787033939481 -3.367544310695088 3.556323326413190 -0.521536534036940 1.486750292195419 0.829522256441825 -1.018302243127148 -1.367544467347987
0.193861872065075 -3.162451741077858 -1.913318550815563 -3.384863949688668 3.265633350050881 -0.452220856622311 1.986061058161487 1.391121234729484 -1.792309157385880 -1.432683132603716
3.302346844483270 -4.160997073396219 -0.896187169559894 -0.948094666116207 3.304105414456226 0.538416192423036 -1.601172658652421 1.246919137445041 2.962464031775002 -4.051907597661985
3.160315854649797 -3.183836405366974 -0.353765301736615 -0.535496516829068 2.944026593343659 -0.457486446186733 -2.801350799541214 1.708848651897812 3.315600017761889 -3.652050698664994
2.650784949843616 -2.122236237875686 -0.609271860316696 -1.041612168946182 3.064238261984309 -0.622968122839140 -2.741636393740091 1.234945741193289 3.228947729387398 -3.422383681086359
1.835756190161568 -1.190249405673504 -1.309181795192128 -1.443239858292167 2.989266338019758 -0.527164602464461 -2.136548177859753 0.257187752305526 2.950627989619554 -2.905503461688335
0.779244692625503 -0.250956684342640 -2.222842398961040 -2.114484245542347 3.193714996155647 -0.402353834151914 -0.716699056731043 -0.695075395385020 1.970940110428005 -2.073146884994938
0.205901638910206 -0.094144905079182 -2.702251300385419 -3.006804281874988 3.428965172985645 -0.244040996236974 0.271507532354853 -0.901460516171289 0.837319205042779 -1.900140980267979
0.006343044467507 -0.526316304925453 -2.784396850535765 -3.387317594535239 3.623756724446971 -0.255765726125193 0.728832393362191 -0.459522185849024 -0.083931182347604 -1.838646537891986
-0.094247051197377 -1.357693159899331 -2.688131416688605 -3.507253089007949 3.801702829826901 -0.372428273016097 1.096283810567282 0.389297736866760 -1.170355250849716 -1.696809434483544
-0.176495600665102 -2.383531123169409 -2.541866388586213 -3.474889464559508 3.916948947345628 -0.496084807779220 1.434741882579586 1.340104548436013 -2.312575966501984 -1.542754383394004
-0.505965100388881 -3.619548563424876 -2.611537814792154 -3.611537547739726 3.999999654692064 -0.388462396222968 1.788855346423743 2.219155128512003 -3.619548301804086 -1.611537777358381
dists:
0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 12.041594578792296 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379 12.041594578792296 12.727922061357855
1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379 12.041594578792296
2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379
3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969
4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001
5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104
6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138
7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887
8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 12.041594578792296 11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417
9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 12.041594578792296 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 12.727922061357855 12.041594578792296 11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000
1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 12.041594578792296
1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761
2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650
3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000
4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603
5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159
6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530
7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321
8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549
9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 12.041594578792296 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000
2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379
2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650
2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665
3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887
4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627
5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549
6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909
7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518
8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476
9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000
3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969
3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000
3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887
4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570
5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654
5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978
6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369
7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759
8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219
9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000
4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001
4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603
4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627
5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654
5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476
6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849
7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301
8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504
8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784
9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000
5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104
5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159
5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549
5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978
6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849
7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381
7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000
8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580
9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661
10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000
6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138
6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530
6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909
6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369
7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301
7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000
8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285
9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989
10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380
10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000
7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887
7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321
7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518
7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759
8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504
8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580
9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989
9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190
10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790
11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000
8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 12.041594578792296 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417
8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549
8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476
8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219
8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784
9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661
10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380
10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790
11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095
12.041594578792296 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000
9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379 12.041594578792296 12.727922061357855 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 12.041594578792296 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 11.401754250991379 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 10.816653826391969 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 10.295630140987001 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 9.848857801796104 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 9.486832980505138 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 9.219544457292887 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 9.055385138137417 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000 9.000000000000000
9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379 12.041594578792296 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 11.313708498984761 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 10.630145812734650 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 10.000000000000000 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 9.433981132056603 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 8.944271909999159 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 8.544003745317530 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 8.246211251235321 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 8.062257748298549 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000 8.000000000000000
9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 11.401754250991379 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 10.630145812734650 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 9.899494936611665 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 9.219544457292887 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 8.602325267042627 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 8.062257748298549 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 7.615773105863909 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 7.280109889280518 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 7.071067811865476 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000 7.000000000000000
9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 10.816653826391969 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 10.000000000000000 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 9.219544457292887 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 8.485281374238570 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 7.810249675906654 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 7.211102550927978 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 6.708203932499369 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 6.324555320336759 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 6.082762530298219 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000 6.000000000000000
9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 10.295630140987001 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 9.433981132056603 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 8.602325267042627 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.810249675906654 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 7.071067811865476 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 6.403124237432849 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.830951894845301 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.385164807134504 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.099019513592784 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 5.000000000000000
10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 9.848857801796104 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 8.944271909999159 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.062257748298549 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.211102550927978 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 6.403124237432849 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 5.656854249492381 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 5.000000000000000 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 4.472135954999580 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 4.123105625617661 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000 4.000000000000000
10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 9.486832980505138 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 8.544003745317530 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 7.615773105863909 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 6.708203932499369 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 5.830951894845301 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 5.000000000000000 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 4.242640687119285 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 3.605551275463989 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 3.162277660168380 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000 3.000000000000000
11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 9.219544457292887 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 8.246211251235321 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 7.280109889280518 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 6.324555320336759 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 5.385164807134504 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 4.472135954999580 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 3.605551275463989 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 2.828427124746190 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 2.236067977499790 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000 2.000000000000000
12.041594578792296 11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 9.055385138137417 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 8.062257748298549 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 7.071067811865476 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 6.082762530298219 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 5.099019513592784 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 4.123105625617661 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 3.162277660168380 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 2.236067977499790 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 1.414213562373095 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000 1.000000000000000
12.727922061357855 12.041594578792296 11.401754250991379 10.816653826391969 10.295630140987001 9.848857801796104 9.486832980505138 9.219544457292887 9.055385138137417 9.000000000000000 12.041594578792296 11.313708498984761 10.630145812734650 10.000000000000000 9.433981132056603 8.944271909999159 8.544003745317530 8.246211251235321 8.062257748298549 8.000000000000000 11.401754250991379 10.630145812734650 9.899494936611665 9.219544457292887 8.602325267042627 8.062257748298549 7.615773105863909 7.280109889280518 7.071067811865476 7.000000000000000 10.816653826391969 10.000000000000000 9.219544457292887 8.485281374238570 7.810249675906654 7.211102550927978 6.708203932499369 6.324555320336759 6.082762530298219 6.000000000000000 10.295630140987001 9.433981132056603 8.602325267042627 7.810249675906654 7.071067811865476 6.403124237432849 5.830951894845301 5.385164807134504 5.099019513592784 5.000000000000000 9.848857801796104 8.944271909999159 8.062257748298549 7.211102550927978 6.403124237432849 5.656854249492381 5.000000000000000 4.472135954999580 4.123105625617661 4.000000000000000 9.486832980505138 8.544003745317530 7.615773105863909 6.708203932499369 5.830951894845301 5.000000000000000 4.242640687119285 3.605551275463989 3.162277660168380 3.000000000000000 9.219544457292887 8.246211251235321 7.280109889280518 6.324555320336759 5.385164807134504 4.472135954999580 3.605551275463989 2.828427124746190 2.236067977499790 2.000000000000000 9.055385138137417 8.062257748298549 7.071067811865476 6.082762530298219 5.099019513592784 4.123105625617661 3.162277660168380 2.236067977499790 1.414213562373095 1.000000000000000 9.000000000000000 8.000000000000000 7.000000000000000 6.000000000000000 5.000000000000000 4.000000000000000 3.000000000000000 2.000000000000000 1.000000000000000 0.000000000000000
#N canvas 520 90 539 296 12;
#N canvas 103 30 724 595 guts 0;
#X msg 89 147 0 \, destroy;
#X obj 111 177 gemwin;
#X msg 94 124 reset \, create \, 1;
#X obj 331 165 gemhead;
#X obj 331 186 translateXYZ;
#X obj 402 118 * -1;
#X obj 331 206 color 0.5 0 0;
#X obj 383 66 gemmouse 8 8;
#X obj 363 109 - 4;
#X obj 405 99 - 4;
#X obj 331 226 sphere 0.6;
#X msg 156 102 cursor 0;
#X msg 126 66 bang;
#X msg 166 150 lighting 1;
#N canvas 463 128 573 394 lights 0;
#X obj 242 277 world_light;
#X obj 242 163 gemhead 1;
#X obj 242 225 rotateXYZ;
#X msg 109 193 debug 0;
#X msg 110 224 debug 1;
#X text 20 169 figure out where the light is;
#X obj 311 47 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 354 133 pack f f;
#X obj 334 159 line;
#X msg 364 42 1;
#X obj 364 23 loadbang;
#X obj 344 298 world_light;
#X obj 346 271 gemhead 1;
#X obj 429 203 loadbang;
#X obj 311 63 metro 20000;
#X msg 400 104 10000;
#X obj 119 57 delay 10000;
#X msg 339 96 300;
#X msg 292 96 50;
#X msg 364 235 1 1 1;
#X msg 422 266 0.6 0.3 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 6 0 14 0;
#X connect 7 0 8 0;
#X connect 8 0 2 2;
#X connect 9 0 6 0;
#X connect 10 0 9 0;
#X connect 10 0 15 0;
#X connect 12 0 11 0;
#X connect 13 0 19 0;
#X connect 13 0 20 0;
#X connect 14 0 17 0;
#X connect 14 0 16 0;
#X connect 15 0 7 1;
#X connect 16 0 18 0;
#X connect 17 0 7 0;
#X connect 18 0 7 0;
#X connect 19 0 0 1;
#X connect 20 0 11 1;
#X restore 543 135 pd lights;
#X obj 269 139 s posx;
#X obj 439 152 s posy;
#X obj 225 25 inlet;
#X obj 77 19 inlet;
#X connect 0 0 1 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 4 2;
#X connect 5 0 16 0;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 4 1;
#X connect 8 0 15 0;
#X connect 9 0 5 0;
#X connect 11 0 1 0;
#X connect 12 0 2 0;
#X connect 12 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 1 0;
#X connect 17 0 0 0;
#X connect 18 0 12 0;
#X restore 11 150 pd guts;
#X obj 10 104 tgl 15 0 empty empty rendering 0 -6 0 8 -262144 -1 -1
1 1;
#X obj 47 128 bng 15 250 50 0 empty empty destroy_gemwin 0 -6 0 8 -262144
-1 -1;
#N canvas 209 7 826 609 train 0;
#X floatatom 45 391 5 0 0 0 - - -;
#X floatatom 83 390 5 0 0 0 - - -;
#X floatatom 120 392 5 0 0 0 - - -;
#X floatatom 160 394 5 0 0 0 - - -;
#X obj 190 206 metro 100;
#X obj 190 187 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 42 430 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 2512 1;
#X obj 80 430 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 115 430 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 154 434 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X text 174 15 1- create the ann;
#N canvas 503 57 704 411 train 0;
#X obj 66 319 outlet;
#X obj 213 183 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 84 16 train;
#N canvas 0 0 490 340 outputs 0;
#X obj 89 60 key;
#X obj 41 122 sel 97;
#X text 84 101 "a" key;
#X obj 218 120 sel 115;
#N canvas 0 0 458 308 a 0;
#X obj 130 150 s output1;
#X obj 86 76 inlet;
#X text 88 56 bang;
#X obj 241 80 inlet;
#X text 243 60 reset;
#X msg 86 101 1;
#X msg 241 110 0;
#X connect 1 0 5 0;
#X connect 3 0 6 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X restore 41 145 pd a pressed;
#N canvas 0 0 458 308 s 0;
#X obj 86 76 inlet;
#X text 88 56 bang;
#X obj 241 80 inlet;
#X text 243 60 reset;
#X msg 86 101 1;
#X msg 241 110 0;
#X obj 130 150 s output2;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X restore 217 142 pd s pressed;
#X text 295 92 "s" key;
#X obj 228 57 keyup;
#X obj 132 123 sel 97;
#X obj 308 120 sel 115;
#X floatatom 19 80 5 0 0 0 - - -;
#X obj 39 183 sel 100;
#X obj 130 184 sel 100;
#X obj 216 181 sel 102;
#X obj 306 181 sel 102;
#N canvas 0 0 466 316 d 0;
#X obj 86 76 inlet;
#X text 88 56 bang;
#X obj 241 80 inlet;
#X text 243 60 reset;
#X msg 86 101 1;
#X msg 241 110 0;
#X obj 130 150 s output3;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X restore 39 206 pd d pressed;
#N canvas 0 0 470 320 f 0;
#X obj 86 76 inlet;
#X text 88 56 bang;
#X obj 241 80 inlet;
#X text 243 60 reset;
#X msg 86 101 1;
#X msg 241 110 0;
#X obj 130 150 s output4;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X restore 215 203 pd f pressed;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 0 0 10 0;
#X connect 0 0 11 0;
#X connect 0 0 13 0;
#X connect 1 0 4 0;
#X connect 3 0 5 0;
#X connect 7 0 8 0;
#X connect 7 0 9 0;
#X connect 7 0 12 0;
#X connect 7 0 14 0;
#X connect 8 0 4 1;
#X connect 9 0 5 1;
#X connect 11 0 15 0;
#X connect 12 0 15 1;
#X connect 13 0 16 0;
#X connect 14 0 16 1;
#X restore 131 57 pd outputs;
#X obj 130 87 r output1;
#X obj 213 86 r output2;
#X floatatom 130 108 5 0 0 0 - - -;
#X floatatom 212 108 5 0 0 0 - - -;
#X floatatom 297 106 5 0 0 0 - - -;
#X floatatom 378 107 5 0 0 0 - - -;
#X obj 297 85 r output3;
#X obj 379 85 r output4;
#X text 128 14 1- change to training mode;
#X text 248 49 2- change keys if you want;
#X text 264 61 defaults are "a" "s" "d" "f";
#X text 239 182 3- toggle on to start training and off to stop;
#X msg 170 282 run;
#X text 200 283 4- switch to run mode when ready;
#X obj 305 226 inlet;
#X obj 344 256 nbx 8 14 -1e+037 1e+037 0 0 empty empty MSE 0 -6 0 10
-262144 -1 -1 0 256;
#N canvas 111 7 818 550 inputs 0;
#X obj 107 65 r posx;
#X obj 166 65 r posy;
#X obj 68 103 f;
#X obj 41 46 inlet;
#X obj 55 300 outlet;
#X obj 71 138 pack f f;
#X connect 0 0 2 1;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 5 0 4 0;
#X restore 213 226 pd inputs;
#N canvas 84 111 802 315 merge 0;
#X obj 56 34 inlet;
#X obj 306 38 r output1;
#X obj 382 38 r output2;
#X obj 460 39 r output3;
#X obj 537 39 r output4;
#X obj 78 184 outlet;
#X obj 56 73 unpack f f;
#X obj 79 137 pack f f f f f f;
#X connect 0 0 6 0;
#X connect 1 0 7 2;
#X connect 2 0 7 3;
#X connect 3 0 7 4;
#X connect 4 0 7 5;
#X connect 6 0 7 0;
#X connect 6 1 7 1;
#X connect 7 0 5 0;
#X restore 140 254 pd merge outputs;
#X obj 213 202 metro 100;
#X connect 1 0 22 0;
#X connect 2 0 0 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 16 0 0 0;
#X connect 18 0 19 0;
#X connect 20 0 21 0;
#X connect 21 0 0 0;
#X connect 22 0 20 0;
#X restore 133 114 pd train on the fly;
#X text 224 182 3- run the nn switching this metro ON;
#X text 277 213 (note \, you must be in run mode);
#X msg 281 231 run;
#X text 364 275 4- when you are happy with you nn save it;
#X obj 301 404 nbx 8 14 -1e+037 1e+037 0 0 empty empty mse 0 -6 0 10
-262144 -1 -1 0 256;
#X text 300 422 mse is usefull while training on-the-fly: tells you
the global error in the net \, how much net's output differs from desired
output.;
#X text 325 115 2- train on the fly in realtime;
#X obj 64 348 unpack f f f f;
#X msg 249 279 save tdnn.net;
#X msg 249 298 load tdnn.net;
#X text 24 412 still;
#X text 72 412 left;
#X text 111 413 right;
#X text 156 415 na;
#X obj 66 325 ann_tdnn 2 5 tdnn.net;
#N canvas 111 7 822 554 inputs 0;
#X obj 107 65 r posx;
#X obj 166 65 r posy;
#X obj 68 103 f;
#X obj 41 46 inlet;
#X obj 55 300 outlet;
#X obj 72 138 pack f f;
#X connect 0 0 2 1;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 5 0 4 0;
#X restore 156 245 pd inputs;
#X msg 66 15 create 2 4 5;
#X text 363 301 remember that you can load it also passing filename
as the 3rd argument;
#X connect 0 0 6 0;
#X connect 1 0 7 0;
#X connect 2 0 8 0;
#X connect 3 0 9 0;
#X connect 4 0 27 0;
#X connect 5 0 4 0;
#X connect 11 0 26 0;
#X connect 14 0 26 0;
#X connect 19 0 0 0;
#X connect 19 1 1 0;
#X connect 19 2 2 0;
#X connect 19 3 3 0;
#X connect 20 0 26 0;
#X connect 21 0 26 0;
#X connect 26 0 19 0;
#X connect 26 1 16 0;
#X connect 26 1 11 0;
#X connect 27 0 26 0;
#X connect 28 0 26 0;
#X restore 9 224 pd train and run nn;
#X text 94 94 1- start rendering;
#X text 72 203 2- open the subpatch and follow instructions;
#X text 15 5 TDNN implementation (Time Delay Neural Network) useful
for gesture recognition;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
FANN_FLO_1.1
3 0.700000 1.000000 0 5 5 5.00000000000000000000e-001 5.00000000000000000000e-001
11 4 5
0 0 0 0 0 0 0 0 0 0 0
11 11 11 0
4 4 4 4 0
(0 3.98359465599060060000e+000) (1 -3.46662133932113650000e-001) (2 1.66724932193756100000e+000) (3 -3.35077017545700070000e-001) (4 -5.66196799278259280000e-001) (5 -3.65077793598175050000e-001) (6 -2.26146197319030760000e+000) (7 1.53752446174621580000e-001) (8 -3.91640329360961910000e+000) (9 4.93833124637603760000e-001) (10 -4.37475204467773440000e+000) (0 2.48541951179504390000e+000) (1 2.93741494417190550000e-001) (2 1.34525704383850100000e+000) (3 3.87542009353637700000e-001) (4 2.62434352189302440000e-002) (5 4.33074653148651120000e-001) (6 -9.10757899284362790000e-001) (7 2.65246361494064330000e-001) (8 -2.17471313476562500000e+000) (9 3.53803992271423340000e-001) (10 -7.55431175231933590000e-001) (0 -4.49254703521728520000e+000) (1 -6.78778812289237980000e-002) (2 -2.04198622703552250000e+000) (3 -1.45705610513687130000e-001) (4 1.97579100728034970000e-001) (5 -4.57823067903518680000e-001) (6 2.62115192413330080000e+000) (7 -2.74485975503921510000e-001) (8 4.33024168014526370000e+000) (9 -2.26368784904479980000e-001) (10 -3.94826436042785640000e+000) (11 -1.19106411933898930000e+000) (12 -2.40987926721572880000e-001) (13 -1.45797419548034670000e+000) (14 2.45804578065872190000e-001) (11 6.82796686887741090000e-002) (12 -3.14634591341018680000e-002) (13 1.29793524742126460000e+000) (14 1.30129599571228030000e+000) (11 1.01107788085937500000e+000) (12 4.44010108709335330000e-001) (13 3.43794375658035280000e-001) (14 8.93330514430999760000e-001) (11 1.50074372683870950000e-016) (12 4.71110857886675280000e-017) (13 1.25351783824343270000e-016) (14 1.36875296494823600000e-017)
#N canvas 297 73 597 521 12;
#X obj 65 379 ann_mlp;
#X text 39 59 input: mouse coord;
#X text 37 76 output: 1 if mouse is in the upper left part of the screen
;
#N canvas 106 171 572 442 step1-creation 0;
#X text 141 13 let's create the ANN;
#X obj 130 354 outlet;
#X msg 132 185 create 2 1;
#X text 59 102 let's assume you have 2 inputs value X and Y and you
want 1 output value that tells 1 when the mouse in in the upper left
part of the screen;
#X text 242 185 send this message;
#X connect 2 0 1 0;
#X restore 128 158 pd step1-creation;
#N canvas 46 38 652 612 step2-train 0;
#X obj 97 530 outlet;
#X msg 44 130 train;
#X text 102 129 first switch to train mode;
#X obj 139 367 pack s f f f;
#N canvas 0 0 466 316 normalized-inputs 0;
#X obj 105 64 r X;
#X obj 173 67 r Y;
#X obj 173 92 / 240;
#X obj 105 91 / 320;
#X obj 104 116 - 1;
#X obj 173 118 - 1;
#X text 221 108 normalize inputs to [-1 \, 1];
#X obj 104 211 outlet;
#X obj 177 215 outlet;
#X text 144 35 receive X and Y;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 8 0;
#X restore 127 271 pd normalized-inputs;
#N canvas 0 0 675 324 desired-output 0;
#X obj 383 63 key;
#X obj 383 92 select 97;
#X msg 382 118 1;
#X obj 528 97 select 97;
#X obj 528 68 keyup;
#X msg 527 123 0;
#X obj 183 195 outlet;
#X text 90 269 i send 1 when "a" is pressed \, 0 when released;
#X obj 180 108 r out;
#X text 81 231 optionally \, you can use the "a" key instead of the
mouse button;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 8 0 6 0;
#X restore 239 332 pd desired-output;
#X obj 91 192 tgl 15 0 empty empty train 0 -6 0 8 -258699 -1 -1 0 1
;
#X text 117 190 <-- toggle to train;
#X text 119 404 everytime the metro bangs you send a training pattern
to ann_mlp;
#X floatatom 247 357 5 0 0 0 - - -;
#X floatatom 287 295 5 0 0 0 - - -;
#X floatatom 148 295 5 0 0 0 - - -;
#X obj 110 328 metro 50;
#X text 53 45 (for this to work you need to give focus to this window
but the gem window must be visible);
#X text 335 293 <-- check mouse position;
#X text 112 213 then move the mouse and press left button when you
are in the upper left part of the screen \, release button when you
are not in the upper left part of the screen;
#X text 293 357 <-- check button pressed/not pressed;
#X obj 124 475 unpack s f f f;
#X obj 145 501 pack f f f;
#X floatatom 296 518 5 0 0 0 mse mse -;
#X text 116 447 go on until mse is low enough (< 0.01);
#X connect 1 0 0 0;
#X connect 3 0 17 0;
#X connect 4 0 3 1;
#X connect 4 0 11 0;
#X connect 4 1 3 2;
#X connect 4 1 10 0;
#X connect 5 0 3 3;
#X connect 5 0 9 0;
#X connect 6 0 12 0;
#X connect 12 0 3 0;
#X connect 17 1 18 0;
#X connect 17 2 18 1;
#X connect 17 3 18 2;
#X connect 18 0 0 0;
#X restore 134 218 pd step2-train;
#N canvas 0 0 462 312 mouseInput 0;
#X obj 41 139 gemwin;
#X msg 44 69 create \, 1;
#X msg 134 71 0 \, destroy;
#X obj 143 120 gemmouse 640 480;
#X obj 143 161 s X;
#X obj 172 161 s Y;
#X obj 54 25 inlet;
#X obj 133 27 inlet;
#X obj 206 162 s out;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 3 2 8 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X restore 287 443 pd mouseInput;
#X obj 287 423 bng 15 250 50 0 empty empty start_GEM 0 -6 0 8 -262144
-1 -1;
#X obj 385 424 bng 15 250 50 0 empty empty stop_GEM 0 -6 0 8 -262144
-1 -1;
#X obj 281 389 loadbang;
#X floatatom 116 414 5 0 0 0 mse - mse;
#N canvas 618 0 682 470 step3-run 0;
#X obj 64 377 outlet;
#N canvas 0 0 466 316 normalized-inputs 0;
#X obj 105 64 r X;
#X obj 173 67 r Y;
#X obj 173 92 / 240;
#X obj 105 91 / 320;
#X obj 104 116 - 1;
#X obj 173 118 - 1;
#X text 221 108 normalize inputs to [-1 \, 1];
#X obj 104 211 outlet;
#X obj 177 215 outlet;
#X text 144 35 receive X and Y;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 8 0;
#X restore 178 167 pd normalized-inputs;
#X obj 97 92 tgl 15 0 empty empty run 0 -6 0 8 -258699 -1 -1 0 1;
#X obj 145 267 pack s f f;
#X msg 50 30 run;
#X text 108 29 first switch to run mode;
#X text 123 90 <-- toggle to run;
#X obj 116 228 metro 50;
#X floatatom 332 196 5 0 0 0 - - -;
#X floatatom 191 193 5 0 0 0 - - -;
#X obj 145 293 unpack s f f;
#X obj 176 321 pack f f;
#X connect 1 0 3 1;
#X connect 1 0 9 0;
#X connect 1 1 3 2;
#X connect 1 1 8 0;
#X connect 2 0 7 0;
#X connect 3 0 10 0;
#X connect 4 0 0 0;
#X connect 7 0 3 0;
#X connect 10 1 11 0;
#X connect 10 2 11 1;
#X connect 11 0 0 0;
#X restore 139 284 pd step3-run;
#X floatatom 64 450 5 0 0 0 - - -;
#X connect 0 0 11 0;
#X connect 0 1 9 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 10 0 0 0;
#N canvas 1 53 717 456 12;
#N canvas 160 189 627 328 creation 0;
#X obj 52 235 outlet;
#X msg 49 10 create;
#X msg 72 68 create 2 1;
#X msg 81 97 create 3 1;
#X msg 93 128 create 3 2;
#X msg 59 38 create 3 2 3 3 1 0.7;
#X text 121 7 create with default values;
#X text 236 38 specifying all;
#X text 166 68 2 inputs 1 output;
#X text 176 99 3 inputs 1 output;
#X text 189 128 3 inputs 2 output;
#X text 159 222 TIP:don't set the layers param too high;
#X text 158 179 params: num_input \, num_output \, num_layers \, num_neurons_hidden
\, connection_rate \, learning_rate;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X restore 52 68 pd creation examples;
#N canvas 83 141 728 356 run 0;
#X obj 90 219 outlet;
#X msg 123 69 0 1;
#X msg 124 92 1 0;
#X msg 125 115 1 1;
#X msg 126 140 0 0;
#X text 40 17 now you can run your nn passing it a list with inputs
;
#X text 169 70 send a list of data and watch the console for output
;
#X text 39 35 the output is sent as a list of float;
#X text 184 134 these inputs are good for a nn like the one in example1
directory;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X restore 86 180 pd run the net;
#N canvas 1 53 619 610 other 0;
#X obj 43 401 outlet;
#X msg 102 37 train;
#X msg 103 63 run;
#X msg 152 37 setmode 0;
#X msg 153 63 setmode 1;
#X text 249 40 set training/running mode;
#X text 247 63 training mode currently not implemented;
#N canvas 113 201 690 335 training 0;
#X obj 71 288 outlet;
#X msg 82 195 FANN_TRAIN_INCREMENTAL;
#X msg 82 216 FANN_TRAIN_BATCH;
#X msg 81 238 FANN_TRAIN_RPROP;
#X msg 81 258 FANN_TRAIN_QUICKPROP;
#X text 40 28 you can set the training algorithm simply sending a message
with the name of the algorithm chosen. possible values are: FANN_TRAIN_INCREMENTAL
FANN_TRAIN_BATCH FANN_TRAIN_RPROP FANN_TRAIN_QUICKPROP the default
is: FANN_TRAIN_RPROP see the FANN manual for details on each algorithm:
http://fann.sourceforge.net/html/r1996.html;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X restore 150 153 pd training algorithm;
#X text 360 175 some advanced param;
#N canvas 34 162 698 395 training 0;
#X obj 52 230 outlet;
#X msg 69 118 desired_error 0.01;
#X msg 79 146 max_iterations 500000;
#X msg 90 178 iterations_between_reports 1000;
#X text 58 28 you can change training parameters. see FANN manual for
details (http://fann.sourceforge.net);
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X restore 151 179 pd training params;
#N canvas 329 121 694 391 activation 0;
#X obj 49 335 outlet;
#X text 40 28 you can set ti output activation algorithm passing a
message to nn. see the FANN manual for description of the algorithms
;
#X msg 69 118 set_activation_function_output FANN_THRESHOLD;
#X msg 83 139 set_activation_function_output FANN_THRESHOLD_SYMMETRIC
;
#X msg 95 163 set_activation_function_output FANN_LINEAR;
#X msg 98 184 set_activation_function_output FANN_SIGMOID;
#X msg 106 206 set_activation_function_output FANN_SIGMOID_STEPWISE
;
#X msg 108 233 set_activation_function_output FANN_SIGMOID_SYMMETRIC
;
#X msg 115 256 set_activation_function_output FANN_SIGMOID_SYMMETRIC_STEPWISE
;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 150 203 pd activation algorithm;
#X msg 151 287 details;
#X text 229 285 details on the current nn;
#X msg 145 333 help;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 7 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 0 0;
#X connect 11 0 0 0;
#X connect 13 0 0 0;
#X restore 107 258 pd other commands;
#N canvas 2 82 653 513 save 0;
#X obj 39 264 outlet;
#X msg 64 20 filename test.net;
#X msg 66 46 save;
#X msg 82 103 load;
#X text 221 19 set the filename;
#X text 214 42 save the net to the file;
#X text 138 104 you can reload it too;
#X text 144 182 nn can be loaded from a file at creation time simply
passing the filename as argument;
#X msg 68 71 save test.net;
#X msg 93 130 load test.net;
#X text 144 217 like [ann_mlp test.net];
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X restore 97 218 pd save the net;
#X text 229 66 create a nn;
#X text 223 179 run your net;
#X text 237 215 save your net;
#N canvas 2 82 712 542 tips 0;
#X text 51 84 for better performances inputs value should be normalized
\, all input should have the same range (if one input has a larger
range it will be more "important"). the range of each input should
be 0 centered. so [-1 \, 1] is good [-2 \, 2] is good \, [0 \, 1] not
so good [1 \, 2] is bad. the range sould not be too small ([-0.1 \,
0.1] is bad).;
#X text 41 19 TIPS;
#X text 41 56 inputs;
#X text 39 211 outputs;
#X text 50 235 each class of outputs should have its own output value:
don't use the same output for 2 meanings \, use 2 outputs intead \,
1 for each.;
#X restore 156 303 pd tips;
#X text 270 333 an interface to fann classes (http://fann.sourceforge.net)
;
#X text 272 351 by Davide Morelli - info@davidemorelli.it;
#N canvas 146 200 580 411 train 0;
#X obj 32 241 outlet;
#N canvas 0 0 458 308 train 0;
#N canvas 8 48 990 509 build 0;
#X obj 65 417 textfile;
#X msg 190 337 clear;
#N canvas 0 0 462 312 alternate 0;
#X obj 103 117 + 1;
#X obj 70 119 f 0;
#X obj 70 171 sel 0 1;
#X obj 70 146 mod 2;
#X msg 95 90 0;
#X obj 68 31 inlet;
#X obj 140 40 inlet;
#X obj 140 63 bang;
#X obj 68 55 bang;
#X obj 65 205 outlet;
#X obj 125 206 outlet;
#X text 59 6 bang;
#X text 139 18 reset to 0 without bang;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 10 0;
#X connect 3 0 2 0;
#X connect 4 0 1 1;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 8 0 1 0;
#X restore 58 227 pd alternate;
#X obj 24 81 bng 15 250 50 0 empty empty write-once 0 -6 0 8 -262144
-1 -1;
#X obj 341 183 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 466 316 inputs 0;
#X obj 61 153 pack s f f;
#X obj 63 200 pack f f;
#X obj 61 176 unpack s f f;
#X msg 66 223 add \$1 \$2;
#X obj 66 257 outlet;
#X text 120 258 to textfile;
#X obj 24 42 inlet;
#X text 23 22 bang;
#X text 66 77 here go the inputs;
#X obj 94 52 r input1;
#X obj 163 52 r input2;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 1 1 0;
#X connect 2 2 1 1;
#X connect 3 0 4 0;
#X connect 6 0 0 0;
#X connect 9 0 0 1;
#X connect 10 0 0 2;
#X restore 58 306 pd inputs;
#N canvas 0 0 466 316 outputs 0;
#X obj 61 153 pack s f f;
#X obj 63 200 pack f f;
#X obj 61 176 unpack s f f;
#X msg 66 223 add \$1 \$2;
#X obj 66 257 outlet;
#X text 120 258 to textfile;
#X obj 24 42 inlet;
#X text 23 22 bang;
#X text 66 77 here go the outputs;
#X obj 91 51 r output1;
#X obj 166 51 r output2;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 1 1 0;
#X connect 2 2 1 1;
#X connect 3 0 4 0;
#X connect 6 0 0 0;
#X connect 9 0 0 1;
#X connect 10 0 0 2;
#X restore 149 284 pd outputs;
#X obj 230 223 f 0;
#X obj 260 223 + 1;
#X obj 239 257 nbx 5 14 -1e+37 1e+37 0 0 empty empty how_many_patterns
0 -6 0 10 -262144 -1 -1 0 256;
#X text 156 406 todo: write header (a line at the beginning of file
with 3 int: how many tests \, num_input \, num_output);
#X obj 122 190 delay 50;
#X obj 115 159 metro 100;
#X floatatom 259 72 5 100 5000 2 msec_between_snapshots - -;
#X obj 127 80 tgl 15 0 empty empty toggle_on-off 0 -6 0 8 -262144 -1
-1 0 1;
#X obj 219 189 / 2;
#X obj 260 16 loadbang;
#X msg 260 36 100;
#X msg 326 342 write test.txt cr;
#X text 293 224 comment;
#N canvas 262 68 647 603 README 0;
#X text 67 432 please help me getting this patch more usable: - how
to add a line at the very beginning of a text file after i have filled
it? - how to manage inputs and outputs of different sized without forcing
the user to edit the patch?;
#X text 9 63 how to use: 1) modify [pd inputs] and [ps outputs] inserting
[r] objects to receive input data \, and modify [pack]s to handle the
right number of inputs 2) do the same with [pd outputs] 3) click on
reset 4) toggle ON and start collecting data 5) when you are ready
toggle OFF 6) edit [write filename cr( with the actual filename you
want for your training data (always keep the cr after the filename)
7) open the file with training data 8) add a line at the beginning
and write 3 integers: the 1st is the number of training patterns written
(see "how many patterns" number box) \, the 2nd is how many inputs
your ann has \, the 3th is how many outputs e.g. i collected 100 training
snapshots \, for a ann with 10 ins and 2 outs I write: 100 10 2 at
the very beginning of the file now the training file is ready and can
be read from nn via train-on-file command;
#X text 9 7 this tricky sub-patch is usefull to write a file to train
ann and is intended to be used with the nn external;
#X restore 25 16 pd README;
#X text 479 210 by davide morelli info@davidemorelli.it;
#X text 106 14 <--readme!;
#X text 242 283 <--edit here!;
#X text 142 308 <--edit here!;
#X text 429 86 usage: read [pd README] \, edit [pd inputs] and [pd
outputs] \, toggle on and record inputs and outputs \, toggle off when
ready \, write to a file \, edit the file adding a line at the beginning
(see REAMDE);
#X connect 1 0 0 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 1 7 0;
#X connect 3 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 1;
#X connect 11 0 2 0;
#X connect 12 0 11 0;
#X connect 12 0 2 0;
#X connect 13 0 12 1;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 11 1;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 18 0 0 0;
#X restore 86 42 pd build training file;
#X msg 88 74 train-on-file test.txt;
#X text 285 45 build a training file;
#X text 287 74 train the nn with the training file;
#X obj 56 139 outlet;
#X connect 1 0 4 0;
#X restore 79 103 pd train you net using a train file;
#N canvas 120 72 892 558 train 0;
#X obj 55 487 outlet;
#X msg 60 31 train;
#X text 126 33 1- set the train mode;
#X text 192 120 be shure you provide the correct numbers of inputs
and outputs;
#X obj 168 202 pack s f f f;
#X obj 197 248 pack f f f;
#X obj 168 225 unpack s f f f;
#X msg 190 464 run;
#X obj 198 170 tgl 15 0 empty empty in1 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 228 170 tgl 15 0 empty empty in2 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 259 170 tgl 15 0 empty empty output 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 148 169 bng 15 250 50 0 empty empty train! 0 -6 0 8 -262144
-1 -1;
#X text 312 160 set inputs and output value \, then send the list clicking
on the "train!" bang;
#X msg 316 261 create 2 1;
#X text 227 464 3- when you are ready switch again to run mode before
exiting;
#X text 315 226 NOTE1: before training with this example you should
have created a nn with 2 ins and 1 out with a command like:;
#N canvas 255 158 517 436 autotrain 0;
#X obj 89 286 outlet;
#X obj 85 87 metro 10;
#X obj 85 38 tgl 15 0 empty empty toggle_training 0 -6 0 8 -262144
-1 -1 0 1;
#X msg 101 192 0 0 0;
#X msg 126 215 0 1 1;
#X msg 82 168 1 0 1;
#X msg 150 244 1 1 1;
#X obj 82 112 random 4;
#X obj 83 138 sel 0 1 2 3;
#X obj 226 125 f 0;
#X obj 256 124 + 1;
#X floatatom 226 149 8 0 0 0 - - -;
#X text 113 36 <--train OR untile mse is low enough;
#X text 143 51 (you must be in train mode);
#X connect 1 0 7 0;
#X connect 1 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X connect 8 1 3 0;
#X connect 8 2 4 0;
#X connect 8 3 6 0;
#X connect 9 0 10 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X restore 224 363 pd autotrain OR;
#X text 172 101 2a)- build a list with inputs and desired output;
#X text 336 291 NOTE2: while training the right outlet gives you the
mean square error after each training pattern. continue training until
mse is low enough.;
#X text 221 383 2b) use autotrain for the OR function;
#X connect 1 0 0 0;
#X connect 4 0 6 0;
#X connect 5 0 0 0;
#X connect 6 1 5 0;
#X connect 6 2 5 1;
#X connect 6 3 5 2;
#X connect 7 0 0 0;
#X connect 8 0 4 1;
#X connect 9 0 4 2;
#X connect 10 0 4 3;
#X connect 11 0 4 0;
#X connect 13 0 0 0;
#X connect 16 0 0 0;
#X restore 68 50 pd train it on the fly;
#X text 62 5 there are 2 ways to train your net;
#X text 253 47 on the fly is simpler;
#X text 88 128 with a trainfile the net could be more accurate;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X restore 74 119 pd train;
#X text 149 118 train a nn;
#X obj 103 345 print mse;
#X obj 52 373 print out;
#X obj 52 313 ann_mlp;
#X text 9 2 ann_mlp: multi layer perceptrons neural networks in PD
;
#N canvas 405 166 494 332 META 0;
#X text 12 190 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
Wilkes for Pd version 0.42.;
#X text 12 25 LICENSE GPL v2;
#X text 12 5 KEYWORDS control;
#X text 12 45 DESCRIPTION multi layer perceptrons neural networks in
PD;
#X text 12 130 OUTLET_0;
#X text 12 150 OUTLET_1;
#X text 12 170 AUTHOR Davide Morelli - info@davidemorelli.it;
#X text 12 65 INLET_0 list create train filename save load setmode
FANN_TRAIN_INCREMENTAL FANN_TRAIN_BATCH FANN_TRAIN_RPROP FANN_TRAIN_QUICKPROP
desired_error max_iterations iterations_between_reports set_activation_function_output
;
#X restore 646 402 pd META;
#X connect 0 0 14 0;
#X connect 1 0 14 0;
#X connect 2 0 14 0;
#X connect 3 0 14 0;
#X connect 10 0 14 0;
#X connect 14 0 13 0;
#X connect 14 1 12 0;
-----------------ann_mlp manual
by davide morelli - www.davidemorelli.it
-----------What is a neural network?
To be shure you fully understand what is and why to use a ANN, read
http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html
-----------Why use a ANN?
Because they are useful in Pattern recognition, gesure recognition (patterns
over time), associative recall of data (images, sounds, etc), predictions
(e.g. time-series forecasting), complex data handling, etc..
--ANNs can handle noisy inputs:
if you trained your ANN that [1,1] -> 1
Then if you pass [1.1, 0.9] -> 1 probably..
--ANNs can be trained without writing code:
see ann/examples/ann_mlp_example2 (in CVS), you can teach the ANN to tell
you when all these balls are close together or still.. How could you do this
coding? You'd have to compute the distance of every ball from every other
ball, then sum all the distances and ... Very complex and difficult! With
ANN you simply teach when the balls are close and when they are not, you
don't have to write code at all, you just have to use pd.
-----------How to build a ANN?
INPUTS:
You must code your input data as a list of float.
E.g. If you want timbre recognition you must fft a signal then build a list
with fft's partial and feed ann_mlp with it
E.g. if you want midi chord recognition and you played A4 C5 E6 then use the
midi values of the notes of the chord to build a list with 3 integers (57 60
64)
Tip: inputs should be 0 centered
the example of chord recognition should not work well (hard to train)
because possible input values go from 30 to 90, you should remap them so
they go from -30 to 30
Notice how the inputs in ann/examples/ann_mlp_example2 go from -1 to 1
If you can't make inputs 0 centered they should at least start from 0
Tip: inputs should be normalized
If you have one input that goes from -10 to 10 and another input that goes
from -1 to 1 the first input will be more important than the second input
OUTPUTS:
Each "meaning" you want your ANN to detect should have its own output.
Notice ann/examples/ann_mlp_example2:
"Calm" and "chaos" have their outputs even if they are related.
I could have set only 1 output 0 for calm and 1 for chaos.
But having separated outputs I can see if my ANN has been trained well or
not, but also could be that a situation is neither calm nor chaotic, or
somehow calm AND chaotic..
-----------TRAINING ON THE FLY:
It is much easier to train the ANN on the fly rather than using a train
file.
To train on the fly you simply must pass a list with
[inputs + expected outputs(
If you have 3 inputs and 2 outputs then you must pass a list with 5 floats
E.g. You want to train a ANN for a simple logical function: OR
You build a ann_mlp with 2 inputs and 1 output
You set |train(
You pass lists like
|0 0 0( inputs are 0 0 output is 0
|1 0 1( inputs are 1 0 output is 1
|0 1 1( inputs are 0 1 output is 1
And so on.. Repeating until MSE is low enough
MSE tells you the general error the ANN currently has with the inputs and
outputs you are giving
When you are ready set |run(
And start passing lists with only inputs values
|0 0(
|1 0(
Etc..
The left outlet of ann_mlp will start sending lists of float, in this case a
list with only 1 float
-----------PUTTING IT TOGETHER:
1) Create a ANN passing ann_mlp a message with num_inputs and num_outputs
E.g. (the simple ann for logical function OR)
|create 2 1(
|
[ann_mlp]
2) set train mode
|train(
|
[ann_mlp]
3) train the ANN passing lists num_inputs+num_outputs long
|0 0 0(
|
[ann_mlp]
(repeat at will using different inputs until mse is low, see right outlet)
4) set run mode
|run(
|
[ann_mlp]
5) run the net passing lists num_inputs long, the left outlet will send a
list with the results
|0 0(
|
[ann_mlp]
When everything is fine you can save it to a file
|save filename(
|
[ann_mlp]
Can be loaded in 2 ways
|load filename(
|
[ann_mlp]
Or as argument
[ann_mlp filename]
-----------
For a more in-depth sight over technical issues:
http://fann.sourceforge.net/report/report.html
See fann manual for details on advanced params
(activation functions,training params, etc..)
http://fann.sourceforge.net/
-----------
questions and suggestions to info(a)davidemorelli.it
#N canvas 161 76 790 548 12;
#X obj 65 417 textfile;
#X msg 190 337 clear;
#N canvas 0 0 462 312 alternate 0;
#X obj 103 117 + 1;
#X obj 70 119 f 0;
#X obj 70 171 sel 0 1;
#X obj 70 146 mod 2;
#X msg 95 90 0;
#X obj 68 31 inlet;
#X obj 140 40 inlet;
#X obj 140 63 bang;
#X obj 68 55 bang;
#X obj 65 205 outlet;
#X obj 125 206 outlet;
#X text 59 6 bang;
#X text 139 18 reset to 0 without bang;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 10 0;
#X connect 3 0 2 0;
#X connect 4 0 1 1;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 8 0 1 0;
#X restore 58 227 pd alternate;
#X obj 24 81 bng 15 250 50 0 empty empty write-once 0 -6 0 8 -262144
-1 -1;
#X obj 506 106 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 466 316 inputs 0;
#X obj 61 153 pack s f f;
#X obj 63 200 pack f f;
#X obj 61 176 unpack s f f;
#X msg 66 223 add \$1 \$2;
#X obj 66 257 outlet;
#X text 120 258 to textfile;
#X obj 24 42 inlet;
#X text 23 22 bang;
#X text 66 77 here go the inputs;
#X obj 94 52 r input1;
#X obj 163 52 r input2;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 1 1 0;
#X connect 2 2 1 1;
#X connect 3 0 4 0;
#X connect 6 0 0 0;
#X connect 9 0 0 1;
#X connect 10 0 0 2;
#X restore 58 306 pd inputs;
#N canvas 0 0 466 316 outputs 0;
#X obj 61 153 pack s f f;
#X obj 63 200 pack f f;
#X obj 61 176 unpack s f f;
#X msg 66 223 add \$1 \$2;
#X obj 66 257 outlet;
#X text 120 258 to textfile;
#X obj 24 42 inlet;
#X text 23 22 bang;
#X text 66 77 here go the outputs;
#X obj 91 51 r output1;
#X obj 166 51 r output2;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 1 1 0;
#X connect 2 2 1 1;
#X connect 3 0 4 0;
#X connect 6 0 0 0;
#X connect 9 0 0 1;
#X connect 10 0 0 2;
#X restore 149 284 pd outputs;
#X obj 230 223 f 0;
#X obj 260 223 + 1;
#X obj 239 257 nbx 5 14 -1e+037 1e+037 0 0 empty empty how_many_patterns
0 -6 0 10 -262144 -1 -1 0 256;
#X text 156 406 todo: write header (a line at the beginning of file
with 3 int: how many tests \, num_input \, num_output);
#X obj 122 190 delay 50;
#X obj 115 159 metro 100;
#X floatatom 346 70 5 100 5000 2 msec_between_snapshots - -;
#X obj 127 80 tgl 15 0 empty empty toggle_on-off 0 -6 0 8 -262144 -1
-1 0 1;
#X obj 219 189 / 2;
#X obj 347 14 loadbang;
#X msg 347 34 100;
#X msg 385 314 write test.txt cr;
#X text 293 224 comment;
#N canvas 262 68 639 595 README 0;
#X text 67 432 please help me getting this patch more usable: - how
to add a line at the very beginning of a text file after i have filled
it? - how to manage inputs and outputs of different sized without forcing
the user to edit the patch?;
#X text 9 7 this tricky patch is usefull to write a file to train ann
and is intended to be used with the nn external;
#X text 9 63 how to use: 1) modify [pd inputs] and [ps outputs] inserting
[r] objects to receive input data \, and modify [pack]s to handle the
right number of inputs 2) do the same with [pd outputs] 3) click on
reset 4) toggle ON and start collecting data 5) when you are ready
toggle OFF 6) edit [write filename cr( with the actual filename you
want for your training data (always keep the cr after the filename)
7) open the file with training data 8) add a line at the beginning
and write 3 integers: the 1st is the number of training patterns written
(see "how many patterns" number box) \, the 2nd is how many inputs
your ann has \, the 3th is how many outputs e.g. i collected 100 training
snapshots \, for a ann with 10 ins and 2 outs I write: 100 10 2 at
the very beginning of the file now the training file is ready and can
be read from nn via train-on-file command;
#X restore 25 16 pd README;
#X text 479 210 by davide morelli info@davidemorelli.it;
#X text 106 14 <--readme!;
#X text 242 283 <--edit here!;
#X text 142 308 <--edit here!;
#X connect 1 0 0 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 1 7 0;
#X connect 3 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 1;
#X connect 11 0 2 0;
#X connect 12 0 11 0;
#X connect 12 0 2 0;
#X connect 13 0 12 1;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 11 1;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 18 0 0 0;
#N canvas 1 53 858 468 12;
#N canvas 376 163 647 348 creation 0;
#X obj 52 235 outlet;
#X text 246 38 specifying all;
#X text 159 216 TIP:don't set the layers param too high;
#X msg 49 10 create 2 1 5;
#X text 175 6 create with 2 inputs \, 1 output and 5 frames;
#X msg 59 38 create 2 1 5 3 3 1 0.7;
#X text 159 179 params: num_input \, num_output \, frames \, num_layers
\, num_neurons_hidden \, connection_rate \, learning_rate;
#N canvas 219 181 650 413 what 0;
#X text 37 134 you pass [0 0.1] to ann_tdnn;
#X text 34 152 internally now there is this array: [0 0.1 0 0 0 0]
;
#X text 38 196 next input is [0.2 1];
#X text 36 211 internally now there is this array: [0.2 1 0 0.1 0 0]
;
#X text 37 255 next input is [0.3 0.4];
#X text 35 270 internally now there is this array: [0.3 0.4 0.2 1 0
0.1];
#X text 36 317 next input is [0.7 0];
#X text 34 332 internally now there is this array: [0.7 0 0.3 0.4 0.2
1];
#X text 35 168 a normal ann_mlp is run with this inputs;
#X text 38 225 a normal ann_mlp is run with this inputs;
#X text 33 284 a normal ann_mlp is run with this inputs;
#X text 33 347 a normal ann_mlp is run with this inputs;
#X text 12 139 1);
#X text 14 197 2);
#X text 15 258 3);
#X text 13 319 4);
#X text 33 4 this implementation od tdnn is simply a normal ann_mlp
with num_input*frame inputs and num_output outputs. ann_tdnn simply
helps managing the delay \, frames and buffers.;
#X text 65 385 ...and so on...;
#X text 34 64 frames can be seen as the delay feedback: how many times
an input is internally held in the input array;
#X text 35 104 eg: 2 inputs 3 frames = internally 6 inputs;
#X restore 155 109 pd what frames are?;
#X connect 3 0 0 0;
#X connect 5 0 0 0;
#X restore 93 68 pd creation examples;
#N canvas 137 89 728 356 run 0;
#X obj 90 219 outlet;
#X msg 123 69 0 1;
#X msg 124 92 1 0;
#X msg 125 115 1 1;
#X msg 126 140 0 0;
#X text 40 17 now you can run your nn passing it a list with inputs
;
#X text 169 70 send a list of data and watch the console for output
;
#X text 39 35 the output is sent as a list of float;
#X text 184 134 these inputs are good for a nn like the one in example1
directory;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X restore 107 180 pd run the net;
#N canvas 1 53 619 610 other 0;
#X obj 43 401 outlet;
#X msg 102 37 train;
#X msg 103 63 run;
#X msg 152 37 setmode 0;
#X msg 153 63 setmode 1;
#X text 249 40 set training/running mode;
#X text 247 63 training mode currently not implemented;
#N canvas 266 284 690 335 training 0;
#X obj 71 288 outlet;
#X msg 82 195 FANN_TRAIN_INCREMENTAL;
#X msg 82 216 FANN_TRAIN_BATCH;
#X msg 81 238 FANN_TRAIN_RPROP;
#X msg 81 258 FANN_TRAIN_QUICKPROP;
#X text 40 28 you can set the training algorithm simply sending a message
with the name of the algorithm chosen. possible values are: FANN_TRAIN_INCREMENTAL
FANN_TRAIN_BATCH FANN_TRAIN_RPROP FANN_TRAIN_QUICKPROP the default
is: FANN_TRAIN_RPROP see the FANN manual for details on each algorithm:
http://fann.sourceforge.net/html/r1996.html;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X restore 150 153 pd training algorithm;
#X text 360 175 some advanced param;
#N canvas 325 121 698 395 training 0;
#X obj 52 230 outlet;
#X msg 69 118 desired_error 0.01;
#X msg 79 146 max_iterations 500000;
#X msg 90 178 iterations_between_reports 1000;
#X text 58 28 you can change training parameters. see FANN manual for
details (http://fann.sourceforge.net);
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X restore 151 179 pd training params;
#N canvas 329 121 694 391 activation 0;
#X obj 49 335 outlet;
#X text 40 28 you can set ti output activation algorithm passing a
message to nn. see the FANN manual for description of the algorithms
;
#X msg 69 118 set_activation_function_output FANN_THRESHOLD;
#X msg 83 139 set_activation_function_output FANN_THRESHOLD_SYMMETRIC
;
#X msg 95 163 set_activation_function_output FANN_LINEAR;
#X msg 98 184 set_activation_function_output FANN_SIGMOID;
#X msg 106 206 set_activation_function_output FANN_SIGMOID_STEPWISE
;
#X msg 108 233 set_activation_function_output FANN_SIGMOID_SYMMETRIC
;
#X msg 115 256 set_activation_function_output FANN_SIGMOID_SYMMETRIC_STEPWISE
;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 150 203 pd activation algorithm;
#X msg 151 287 details;
#X text 229 285 details on the current nn;
#X msg 145 333 help;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 7 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 0 0;
#X connect 11 0 0 0;
#X connect 13 0 0 0;
#X restore 128 258 pd other commands;
#N canvas 1 53 665 525 save 0;
#X obj 39 264 outlet;
#X msg 64 20 filename test.net;
#X msg 66 46 save;
#X msg 82 103 load;
#X text 221 19 set the filename;
#X text 214 42 save the net to the file;
#X text 138 104 you can reload it too;
#X text 144 182 nn can be loaded from a file at creation time simply
passing the filename as argument;
#X msg 68 71 save test.net;
#X msg 93 130 load test.net;
#X text 144 217 like [ann_td num_inputs frames filename];
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X restore 118 218 pd save the net;
#X text 270 66 create a nn;
#X text 244 179 run your net;
#X text 258 215 save your net;
#N canvas 0 0 712 542 tips 0;
#X text 51 84 for better performances inputs value should be normalized
\, all input should have the same range (if one input has a larger
range it will be more "important"). the range of each input should
be 0 centered. so [-1 \, 1] is good [-2 \, 2] is good \, [0 \, 1] not
so good [1 \, 2] is bad. the range sould not be too small ([-0.1 \,
0.1] is bad).;
#X text 41 19 TIPS;
#X text 41 56 inputs;
#X text 39 211 outputs;
#X text 50 235 each class of outputs should have its own output value:
don't use the same output for 2 meanings \, use 2 outputs intead \,
1 for each.;
#X restore 167 285 pd tips;
#X text 272 371 an interface to fann classes (http://fann.sourceforge.net)
;
#X text 274 389 by Davide Morelli - info@davidemorelli.it;
#N canvas 228 212 580 411 train 0;
#X obj 32 241 outlet;
#N canvas 100 44 892 558 train 0;
#X obj 57 397 outlet;
#X msg 60 31 train;
#X text 126 33 1- set the train mode;
#X text 116 81 2- build a list with inputs and desired output;
#X text 139 101 be shure you provide the correct numbers of inputs
and outputs;
#X obj 168 202 pack s f f f;
#X obj 197 248 pack f f f;
#X obj 168 225 unpack s f f f;
#X msg 192 374 run;
#X obj 198 170 tgl 15 0 empty empty in1 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 228 170 tgl 15 0 empty empty in2 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 259 170 tgl 15 0 empty empty output 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 148 169 bng 15 250 50 0 empty empty train! 0 -6 0 8 -262144
-1 -1;
#X text 299 183 set inputs and output value \, then send the list clicking
on the "train!" bang;
#X text 229 374 3- when you are ready switch again to run mode before
exiting;
#X text 311 308 NOTE2: while training the right outlet gives you the
mean square error after each training pattern.;
#X msg 316 278 create 2 1 5;
#X text 315 226 NOTE1: before training with this example you should
have created a nn with 2 ins and 1 out and 5 frames with a command
like:;
#X connect 1 0 0 0;
#X connect 5 0 7 0;
#X connect 6 0 0 0;
#X connect 7 1 6 0;
#X connect 7 2 6 1;
#X connect 7 3 6 2;
#X connect 8 0 0 0;
#X connect 9 0 5 1;
#X connect 10 0 5 2;
#X connect 11 0 5 3;
#X connect 12 0 5 0;
#X connect 16 0 0 0;
#X restore 68 50 pd train it on the fly;
#X text 62 5 there are 2 ways to train your net;
#X text 253 47 on the fly is simpler;
#X text 86 128 with a trainfile the net could be more accurate;
#X msg 89 149 train-on-file test.txt;
#X connect 1 0 0 0;
#X connect 5 0 0 0;
#X restore 115 119 pd train;
#X text 190 118 train a nn;
#X obj 113 360 print mse;
#X obj 54 391 print out;
#X text 150 315 2 args needed: num_inputs and frames;
#X text 148 331 see [pd creation examples] for details;
#X obj 33 319 ann_td 2 5;
#X text 9 2 ann_td: time delay neural networks in pd;
#N canvas 406 195 494 332 META 0;
#X text 12 210 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan
Wilkes for Pd version 0.42.;
#X text 12 25 LICENSE GPL v2;
#X text 12 5 KEYWORDS control;
#X text 12 150 OUTLET_0;
#X text 12 170 OUTLET_1;
#X text 12 190 AUTHOR Davide Morelli - info@davidemorelli.it;
#X text 12 45 DESCRIPTION time delay neural networks in pd;
#X text 12 65 INLET_0 list create train train-on-file filename save
load setmode run FANN_TRAIN_INCREMENTAL FANN_TRAIN_BATCH FANN_TRAIN_RPROP
FANN_TRAIN_QUICKPROP desired_error max_iterations iterations_between_reports
set_activation_function_output;
#X restore 734 408 pd META;
#X connect 0 0 16 0;
#X connect 1 0 16 0;
#X connect 2 0 16 0;
#X connect 3 0 16 0;
#X connect 10 0 16 0;
#X connect 16 0 13 0;
#X connect 16 1 12 0;
/* ...this is an externals for comouting Aritficial Neural Networks...
thikn aboiut this
0201:forum::für::umläute:2001
*/
#include "ann.h"
//#include "ann_som.c"
//#include "ann_mlp.c"
//#include "ann_td.c"
typedef struct ann
{
t_object t_ob;
} t_ann;
t_class *ann_class;
/* do a little help thing */
static void ann_help(void)
{
post("\n\n...this is the ann external "VERSION"..\n");
post("self-organized maps"
"\n\tann_som"
"");
post("\n(l) forum::für::umläute 2001\n"
"this software is under the GnuGPL that is provided with these files");
}
void *ann_new(void)
{
t_ann *x = (t_ann *)pd_new(ann_class);
return (void *)x;
}
void ann_som_setup(void);
void ann_mlp_setup(void);
void ann_td_setup(void);
/*
waiting to be released in near future:
ANN_SOM : self organized maps
ANN_PERCEPTRON : perceptrons
ANN_MLP : multilayer perceptrons
waiting to be realeased sometimes
ANN_RBF : radial basis functions
*/
void ann_setup(void)
{
ann_som_setup();
ann_mlp_setup();
ann_td_setup();
/* ************************************** */
post("\n\t................................");
post("\t...artificial neural networks...");
post("\t..........version "VERSION"..........");
post("\t....forum::für::umläute 2001....");
post("\t....send me a 'help' message....");
post("\t................................\n");
ann_class = class_new(gensym("ann"), ann_new, 0, sizeof(t_ann), 0, 0);
class_addmethod(ann_class, ann_help, gensym("help"), 0);
}
/* ********************************************** */
/* the ANN external */
/* ********************************************** */
/* forum::für::umläute */
/* ********************************************** */
#ifndef INCLUDE_ANN_H__
#define INCLUDE_ANN_H__
#include "m_pd.h"
/* to beautify the logo make sure to make the VERSION-info 4 chars long */
#define VERSION "0.1."
#endif
/* ann_mlp : Neural Networks for PD
by Davide Morelli - info@davidemorelli.it - http://www.davidemorelli.it
this software is simply an interface for FANN classes
http://fann.sourceforge.net/
FANN is obviously needed for compilation
USE 1.2 VERSION ONLY
this software is licensed under the GNU General Public License
*/
/*
hacked by Georg Holzmann for some additional methods, bug fixes, ...
2005, grh@mur.at
*/
#include <stdio.h>
#include <string.h>
#include "m_pd.h"
#include "fann.h"
#ifndef VERSION
#define VERSION "0.2"
#endif
#ifndef __DATE__
#define __DATE__ ""
#endif
#define TRAIN 0
#define RUN 1
static t_class *ann_mlp_class;
typedef struct _ann_mlp {
t_object x_obj;
struct fann *ann;
int mode; // 0 = training, 1 = running
t_symbol *filename; // name of the file where this ann is saved
t_symbol *filenametrain; // name of the file with training data
float desired_error;
unsigned int max_iterations;
unsigned int iterations_between_reports;
fann_type *input; // grh: storage for input
t_atom *output; // grh: storage for output (t_atom)
fann_type *out_float; // grh: storage for output (fann_type)
t_canvas *x_canvas;
t_outlet *l_out, *f_out;
} t_ann_mlp;
// allocation
static void ann_mlp_allocate_storage(t_ann_mlp *x)
{
unsigned int i;
if(!x->ann)
return;
x->input = (fann_type *)getbytes(x->ann->num_input*sizeof(fann_type));
x->output = (t_atom *)getbytes(x->ann->num_output*sizeof(t_atom));
x->out_float = (fann_type *)getbytes(x->ann->num_output*sizeof(fann_type));
// init storage with zeros
for (i=0; i<x->ann->num_input; i++)
x->input[i]=0;
for (i=0; i<x->ann->num_output; i++)
{
SETFLOAT(x->output+i, 0);
x->out_float[i]=0;
}
}
// deallocation
static void ann_mlp_free(t_ann_mlp *x)
{
if(!x->ann)
return;
freebytes(x->input, x->ann->num_input * sizeof(fann_type));
freebytes(x->output, x->ann->num_output * sizeof(t_atom));
freebytes(x->out_float, x->ann->num_output * sizeof(fann_type));
fann_destroy(x->ann);
}
static void ann_mlp_help(t_ann_mlp *x)
{
post("");
post("ann_mlp: neural nets for PD");
post("ann_mlp:Davide Morelli - info@davidemorelli.it - (c)2005");
post("ann_mlp:create or load an ann, train it and run it passing a list with inputs to the inlet, nn will give a list of float as output");
post("ann_mlp:main commands: create, filename, load, save, train-on-file, run");
post("ann_mlp:see help-nn.pd for details on commands and usage");
post("ann_mlp:this is an interface to FANN");
}
static void ann_mlp_createFann(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
unsigned int num_input = 2;
unsigned int num_output = 1;
unsigned int num_layers = 3;
unsigned int *neurons_per_layer = NULL;
int activated=0;
int i, count_args = 0;
float connection_rate = 1;
float learning_rate = (float)0.7;
// okay, start parsing init args ...
if (argc > count_args++)
num_input = atom_getint(argv++);
if (argc > count_args++)
num_output = atom_getint(argv++);
if (argc > count_args++)
{
int hidden=0;
num_layers = atom_getint(argv++);
hidden = num_layers-2;
neurons_per_layer = (unsigned int *)getbytes(num_layers*sizeof(unsigned int));
neurons_per_layer[0] = num_input;
// make standard initialization (if there are too few init args)
for (i=1; i<hidden+1; i++)
neurons_per_layer[i] = 3;
// now check init args
for (i=1; i<hidden+1; i++)
{
if (argc > count_args++)
neurons_per_layer[i] = atom_getint(argv++);
}
neurons_per_layer[num_layers-1] = num_output;
activated=1;
}
if (argc > count_args++)
connection_rate = atom_getfloat(argv++);
if (argc > count_args++)
learning_rate = atom_getfloat(argv++);
// make one hidden layer as standard, if there were too few init args
if(!activated)
{
neurons_per_layer = (unsigned int *)getbytes(3*sizeof(unsigned int));
neurons_per_layer[0] = num_input;
neurons_per_layer[1] = 3;
neurons_per_layer[2] = num_output;
}
// ... end of parsing init args
if(x->ann)
ann_mlp_free(x);
x->ann = fann_create_array(connection_rate, learning_rate, num_layers, neurons_per_layer);
// deallocate helper array
freebytes(neurons_per_layer, num_layers * sizeof(unsigned int));
if(!x->ann)
{
error("error creating the ann");
return;
}
ann_mlp_allocate_storage(x);
fann_set_activation_function_hidden(x->ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(x->ann, FANN_SIGMOID_SYMMETRIC);
// set error log to stdout, so that you see it in the pd console
//fann_set_error_log((struct fann_error*)x->ann, stdout);
// unfortunately this doesn't work ... but it should do in a similar way !!
post("created ann with:");
post("num_input = %i", num_input);
post("num_output = %i", num_output);
post("num_layers = %i", num_layers);
post("connection_rate = %f", connection_rate);
post("learning_rate = %f", learning_rate);
}
static void ann_mlp_print_status(t_ann_mlp *x)
{
if (x->mode == TRAIN)
post("nn:training");
else
post("nn:running");
}
static void ann_mlp_train(t_ann_mlp *x)
{
x->mode=TRAIN;
if (x->ann == 0)
{
error("ann not initialized");
return;
}
fann_reset_MSE(x->ann);
ann_mlp_print_status(x);
}
static void ann_mlp_run(t_ann_mlp *x)
{
x->mode=RUN;
ann_mlp_print_status(x);
}
static void ann_mlp_set_mode(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
if (argc<1)
{
error("usage: setmode 0/1: 0 for training, 1 for running");
}
else
{
x->mode = atom_getint(argv++);
ann_mlp_print_status(x);
}
}
static void ann_mlp_train_on_file(t_ann_mlp *x, t_symbol *s)
{
// make correct path
char patcher_path[MAXPDSTRING];
char filename[MAXPDSTRING];
if (x->ann == 0)
{
error("ann not initialized");
return;
}
// make correct path
canvas_makefilename(x->x_canvas, s->s_name, patcher_path, MAXPDSTRING);
sys_bashfilename(patcher_path, filename);
x->filenametrain = gensym(filename);
if(!x->filenametrain)
return;
post("nn: starting training on file %s, please be patient and wait ... (it could take severeal minutes to complete training)", x->filenametrain->s_name);
fann_train_on_file(x->ann, x->filenametrain->s_name, x->max_iterations,
x->iterations_between_reports, x->desired_error);
post("ann_mlp: finished training on file %s", x->filenametrain->s_name);
}
static void ann_mlp_set_desired_error(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
float desired_error = (float)0.001;
if (0<argc)
{
desired_error = atom_getfloat(argv);
x->desired_error = desired_error;
post("nn:desired_error set to %f", x->desired_error);
} else
{
error("you must pass me a float");
}
}
static void ann_mlp_set_max_iterations(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
unsigned int max_iterations = 500000;
if (argc>0)
{
max_iterations = atom_getint(argv);
x->max_iterations = max_iterations;
post("nn:max_iterations set to %i", x->max_iterations);
} else
{
error("you must pass me an int");
}
}
static void ann_mlp_set_iterations_between_reports(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
unsigned int iterations_between_reports = 1000;
if (argc>0)
{
iterations_between_reports = atom_getint(argv);
x->iterations_between_reports = iterations_between_reports;
post("nn:iterations_between_reports set to %i", x->iterations_between_reports);
} else
{
error("you must pass me an int");
}
}
// run the ann using floats in list passed to the inlet as input values
// and send result to outlet as list of float
static void ann_mlp_run_the_net(t_ann_mlp *x, t_symbol *sl, unsigned int argc, t_atom *argv)
{
unsigned int i=0;
fann_type *calc_out;
if (x->ann == 0)
{
error("ann not initialized");
return;
}
if(argc < x->ann->num_input)
{
error("ann_mlp: too few input values!!");
return;
}
// fill input array with actual data sent to inlet
for (i=0;i<x->ann->num_input;i++)
{
x->input[i] = atom_getfloat(argv++);
}
// run the ann
calc_out = fann_run(x->ann, x->input);
// fill the output array with result from ann
for (i=0;i<x->ann->num_output;i++)
SETFLOAT(x->output+i, calc_out[i]);
// send output array to outlet
outlet_anything(x->l_out, gensym("list"),
x->ann->num_output, x->output);
}
static void ann_mlp_train_on_the_fly(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
int i=0;
int quantiINs, quantiOUTs;
float mse;
if (x->ann == 0)
{
error("ann not initialized");
return;
}
quantiINs = x->ann->num_input;
quantiOUTs = x->ann->num_output;
if ((quantiINs + quantiOUTs)>argc)
{
error("insufficient number of arguments passed, in training mode you must prive me a list with (num_input + num_output) floats");
return;
}
// fill input array with actual data sent to inlet
for (i=0;i<quantiINs;i++)
x->input[i] = atom_getfloat(argv++);
for (i=0;i<quantiOUTs;i++)
x->out_float[i] = atom_getfloat(argv++);
//fann_reset_MSE(x->ann);
fann_train(x->ann, x->input, x->out_float);
mse = fann_get_MSE(x->ann);
outlet_float(x->f_out, mse);
}
static void ann_mlp_manage_list(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
if (x->mode)
ann_mlp_run_the_net(x, sl, argc, argv);
else
{
ann_mlp_train_on_the_fly(x, sl, argc, argv);
}
}
static void ann_mlp_set_filename(t_ann_mlp *x, t_symbol *s)
{
// make correct path
char patcher_path[MAXPDSTRING];
char filename[MAXPDSTRING];
if(!s)
return;
// make correct path
canvas_makefilename(x->x_canvas, s->s_name, patcher_path, MAXPDSTRING);
sys_bashfilename(patcher_path, filename);
x->filename = gensym(filename);
}
static void ann_mlp_load_ann_from_file(t_ann_mlp *x, t_symbol *s)
{
ann_mlp_set_filename(x,s);
if(!x->filename)
{
error("ann: no filename !!!");
return;
}
// deallocate storage
if(x->ann)
ann_mlp_free(x);
x->ann = fann_create_from_file(x->filename->s_name);
if (x->ann == 0)
error("error opening %s", x->filename->s_name);
else
post("nn:ann loaded fom file %s", x->filename->s_name);
// allocate storage
ann_mlp_allocate_storage(x);
}
static void ann_mlp_save_ann_to_file(t_ann_mlp *x, t_symbol *s)
{
ann_mlp_set_filename(x,s);
if(!x->filename)
{
error("ann: no filename !!!");
return;
}
if (x->ann == 0)
{
error("ann is not initialized");
} else
{
fann_save(x->ann, x->filename->s_name);
post("nn:ann saved in file %s", x->filename->s_name);
}
}
// functions for training algo:
static void ann_mlp_set_FANN_TRAIN_INCREMENTAL(t_ann_mlp *x)
{
if (x->ann == 0)
{
error("ann is not initialized");
} else
{
fann_set_training_algorithm(x->ann, FANN_TRAIN_INCREMENTAL);
post("nn:training algorithm set to FANN_TRAIN_INCREMENTAL");
}
}
static void ann_mlp_set_FANN_TRAIN_BATCH(t_ann_mlp *x)
{
if (x->ann == 0)
{
error("ann is not initialized");
} else
{
fann_set_training_algorithm(x->ann, FANN_TRAIN_BATCH);
post("nn:training algorithm set to FANN_TRAIN_BATCH");
}
}
static void ann_mlp_set_FANN_TRAIN_RPROP(t_ann_mlp *x)
{
if (x->ann == 0)
{
error("ann is not initialized");
} else
{
fann_set_training_algorithm(x->ann, FANN_TRAIN_RPROP);
post("nn:training algorithm set to FANN_TRAIN_RPROP");
}
}
static void ann_mlp_set_FANN_TRAIN_QUICKPROP(t_ann_mlp *x)
{
if (x->ann == 0)
{
error("ann is not initialized");
} else
{
fann_set_training_algorithm(x->ann, FANN_TRAIN_QUICKPROP);
post("nn:training algorithm set to FANN_TRAIN_QUICKPROP");
}
}
static void ann_mlp_set_activation_function_output(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
t_symbol *parametro = 0;
int funzione = 0;
if (x->ann == 0)
{
error("ann not initialized");
return;
}
if (argc>0) {
parametro = atom_gensym(argv);
if (strcmp(parametro->s_name, "FANN_THRESHOLD")==0)
funzione = FANN_THRESHOLD;
if (strcmp(parametro->s_name, "FANN_THRESHOLD_SYMMETRIC")==0)
funzione = FANN_THRESHOLD_SYMMETRIC;
if (strcmp(parametro->s_name, "FANN_LINEAR")==0)
funzione = FANN_LINEAR;
if (strcmp(parametro->s_name, "FANN_SIGMOID")==0)
funzione = FANN_SIGMOID;
if (strcmp(parametro->s_name, "FANN_SIGMOID_STEPWISE")==0)
funzione = FANN_SIGMOID_STEPWISE;
if (strcmp(parametro->s_name, "FANN_SIGMOID_SYMMETRIC")==0)
funzione = FANN_SIGMOID_SYMMETRIC;
if (strcmp(parametro->s_name, "FANN_SIGMOID_SYMMETRIC_STEPWISE")==0)
funzione = FANN_SIGMOID_SYMMETRIC_STEPWISE;
if (strcmp(parametro->s_name, "FANN_GAUSSIAN")==0)
funzione = FANN_GAUSSIAN;
if (strcmp(parametro->s_name, "FANN_GAUSSIAN_STEPWISE")==0)
funzione = FANN_GAUSSIAN_STEPWISE;
if (strcmp(parametro->s_name, "FANN_ELLIOT")==0)
funzione = FANN_ELLIOT;
if (strcmp(parametro->s_name, "FANN_ELLIOT_SYMMETRIC")==0)
funzione = FANN_ELLIOT_SYMMETRIC;
fann_set_activation_function_output(x->ann, funzione);
} else
{
error("you must specify the activation function");
}
post("nn:activation function set to %s (%i)", parametro->s_name, funzione);
}
static void ann_mlp_set_activation_function_hidden(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
t_symbol *parametro = 0;
int funzione = 0;
if (x->ann == 0)
{
error("ann not initialized");
return;
}
if (argc>0) {
parametro = atom_gensym(argv);
if (strcmp(parametro->s_name, "FANN_THRESHOLD")==0)
funzione = FANN_THRESHOLD;
if (strcmp(parametro->s_name, "FANN_THRESHOLD_SYMMETRIC")==0)
funzione = FANN_THRESHOLD_SYMMETRIC;
if (strcmp(parametro->s_name, "FANN_LINEAR")==0)
funzione = FANN_LINEAR;
if (strcmp(parametro->s_name, "FANN_SIGMOID")==0)
funzione = FANN_SIGMOID;
if (strcmp(parametro->s_name, "FANN_SIGMOID_STEPWISE")==0)
funzione = FANN_SIGMOID_STEPWISE;
if (strcmp(parametro->s_name, "FANN_SIGMOID_SYMMETRIC")==0)
funzione = FANN_SIGMOID_SYMMETRIC;
if (strcmp(parametro->s_name, "FANN_SIGMOID_SYMMETRIC_STEPWISE")==0)
funzione = FANN_SIGMOID_SYMMETRIC_STEPWISE;
if (strcmp(parametro->s_name, "FANN_GAUSSIAN")==0)
funzione = FANN_GAUSSIAN;
if (strcmp(parametro->s_name, "FANN_GAUSSIAN_STEPWISE")==0)
funzione = FANN_GAUSSIAN_STEPWISE;
if (strcmp(parametro->s_name, "FANN_ELLIOT")==0)
funzione = FANN_ELLIOT;
if (strcmp(parametro->s_name, "FANN_ELLIOT_SYMMETRIC")==0)
funzione = FANN_ELLIOT_SYMMETRIC;
fann_set_activation_function_hidden(x->ann, funzione);
} else
{
error("you must specify the activation function");
}
post("nn:activation function set to %s (%i)", parametro->s_name, funzione);
}
static void ann_mlp_randomize_weights(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
{
t_float min = -1;
t_float max = 1;
if(!x->ann)
{
post("ann_mlp: ann is not initialized");
return;
}
if (argc>0)
min = atom_getfloat(argv++);
if (argc>1)
max = atom_getfloat(argv++);
fann_randomize_weights(x->ann, min, max);
}
static void ann_mlp_learnrate(t_ann_mlp *x, t_float f)
{
int learnrate = 0;
if(!x->ann)
{
post("ann_mlp: ann is not initialized");
return;
}
learnrate = (f<0) ? 0 : f;
fann_set_learning_rate(x->ann, learnrate);
}
static void ann_mlp_set_activation_steepness_hidden(t_ann_mlp *x, t_float f)
{
if(!x->ann)
{
post("ann_mlp: ann is not initialized");
return;
}
fann_set_activation_steepness_hidden(x->ann, f);
}
static void ann_mlp_set_activation_steepness_output(t_ann_mlp *x, t_float f)
{
if(!x->ann)
{
post("ann_mlp: ann is not initialized");
return;
}
fann_set_activation_steepness_output(x->ann, f);
}
void fann_set_activation_steepness_hidden(struct fann * ann, fann_type steepness);
static void ann_mlp_print_ann_details(t_ann_mlp *x)
{
if (x->ann == 0)
{
post("ann_mlp:ann is not initialized");
} else
{
post("follows a description of the current ann:");
post("num_input=%i", x->ann->num_input);
post("num_output=%i", x->ann->num_output);
post("learning_rate=%f", x->ann->learning_rate);
post("connection_rate=%f", x->ann->connection_rate);
post("total_neurons=%i", x->ann->total_neurons);
post("total_connections=%i", x->ann->total_connections);
post("last error=%i", x->ann->errstr);
if (x->filename == 0)
{
post("ann_mlp:filename not set");
} else
{
post("filename=%s", x->filename->s_name);
}
}
}
static void ann_mlp_print_ann_print(t_ann_mlp *x)
{
if(!x->ann)
{
post("ann_mlp: ann is not initialized");
return;
}
fann_print_connections(x->ann);
fann_print_parameters(x->ann);
}
static void *ann_mlp_new(t_symbol *s, int argc, t_atom *argv)
{
t_ann_mlp *x = (t_ann_mlp *)pd_new(ann_mlp_class);
x->l_out = outlet_new(&x->x_obj, &s_list);
x->f_out = outlet_new(&x->x_obj, &s_float);
x->desired_error = (float)0.001;
x->max_iterations = 500000;
x->iterations_between_reports = 1000;
x->mode=RUN;
x->x_canvas = canvas_getcurrent();
x->filename = NULL;
x->filenametrain = NULL;
x->ann = NULL;
x->input = NULL;
x->output = NULL;
x->out_float = NULL;
if (argc>0) {
x->filename = atom_gensym(argv);
ann_mlp_load_ann_from_file(x, NULL);
}
return (void *)x;
}
void ann_mlp_setup(void) {
post("");
post("ann_mlp: multilayer perceptron for PD");
post("version: "VERSION"");
post("compiled: "__DATE__);
post("author: Davide Morelli");
post("contact: info@davidemorelli.it www.davidemorelli.it");
ann_mlp_class = class_new(gensym("ann_mlp"),
(t_newmethod)ann_mlp_new,
(t_method)ann_mlp_free, sizeof(t_ann_mlp),
CLASS_DEFAULT, A_GIMME, 0);
// general..
class_addmethod(ann_mlp_class, (t_method)ann_mlp_help, gensym("help"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_createFann, gensym("create"), A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_train, gensym("train"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_run, gensym("run"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_mode, gensym("setmode"), A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_train_on_file, gensym("train-on-file"), A_DEFSYMBOL, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_manage_list, gensym("data"), A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_filename, gensym("filename"), A_DEFSYMBOL, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_load_ann_from_file, gensym("load"),A_DEFSYMBOL, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_save_ann_to_file, gensym("save"),A_DEFSYMBOL, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_print_ann_details, gensym("details"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_print_ann_print, gensym("print"), 0);
// change training parameters
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_desired_error, gensym("desired_error"),A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_max_iterations, gensym("max_iterations"),A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_iterations_between_reports, gensym("iterations_between_reports"),A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_learnrate, gensym("learnrate"), A_FLOAT, 0);
// change training and activation algorithms
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_FANN_TRAIN_INCREMENTAL, gensym("FANN_TRAIN_INCREMENTAL"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_FANN_TRAIN_BATCH, gensym("FANN_TRAIN_BATCH"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_FANN_TRAIN_RPROP, gensym("FANN_TRAIN_RPROP"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_FANN_TRAIN_QUICKPROP, gensym("FANN_TRAIN_QUICKPROP"), 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_activation_function_output, gensym("set_activation_function_output"),A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_activation_function_hidden, gensym("set_activation_function_hidden"),A_GIMME, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_activation_steepness_hidden, gensym("set_activation_steepness_hidden"), A_FLOAT, 0);
class_addmethod(ann_mlp_class, (t_method)ann_mlp_set_activation_steepness_output, gensym("set_activation_steepness_output"), A_FLOAT, 0);
// initialization:
class_addmethod(ann_mlp_class, (t_method)ann_mlp_randomize_weights, gensym("randomize_weights"),A_GIMME, 0);
// the most important one: running the ann
class_addlist(ann_mlp_class, (t_method)ann_mlp_manage_list);
}