Constructing a string via concatenation in python is linear when concatenating from the left, but quadratic when concatenating from the right.

See https://wiki.c2.com/?ShlemielThePainter

0.477269269693021       0.4090936150228531
0.943467268243368       1.1582912101673288
0.8636089315924662      1.1671698216604185
1.0963966176101008      1.428828999374792
1.6784854266451228      2.7955249028603304
0.9729800152936889      1.7139516840108815
0.976986552905186       1.8376031484709272
1.0299646895195378      2.05973358653171
0.9840919915461477      2.249449913486416
0.9888386588076665      2.32368029928747
0.9750880503199175      2.4888979877218556
0.9426267273148468      2.514516088634307
1.0693339731456786      2.7402819485752703
0.9896758321198724      2.8691927025163606
0.9110841531244358      2.7343790820461673
0.9783698124111905      3.385913971453168
0.8971220003499627      3.0609249984195834
0.930626996766331       3.54622546425323
0.926147979223174       3.636800909357145
1.0564973811986649      2.8876026703361983
0.8516477839213483      3.6214263769600534
0.9697740273335287      4.483898379551313
0.9832156267048209      5.102552902297652
1.0828364915997988      5.456919758560285
0.9127307854186515      5.2741766185084415
0.9071555934895981      6.091801779507623
0.8894195718915848      4.0307182515631474
0.9760602766835043      6.132280444463989
0.9998494474593596      6.334788659954116
0.96518789293109        6.920529521208452
1.0191428871148491      7.281961775573055
0.9811631120764351      7.1496541396446185
0.9639804013521927      7.309096143939552
1.0396892790593926      7.397333087056306
0.9671680531144681      7.53232232647267
0.9936400640336643      7.969751546305221
0.9309976658897554      7.941127270452177
0.9874160560555579      8.573576633198197
0.9831510373187953      8.734043451170226
1.0022049799003396      9.025092151705463
0.972094664198929       9.251769448508199
0.9370000170371314      8.94901183295868
0.9708282343104913      9.013051150201562
1.018078675498285       9.888426464960755
0.981050572479598       9.995140544046249
1.0018165295732284      10.061131290326577
0.9603679278289955      10.254454524067235
0.9851428832464735      10.780023716786882
1.0424773324496939      11.438193919811981
0.7429300709166078      8.71618197118925
1.023680206105941       11.769289355889313
0.9882237448212712      11.907580929462384
0.9910825231916017      12.15432243439834
1.1062279915795312      13.32526897438229
0.9992618879616777      12.472991955973141
1.0246256470167538      12.881841019937879
1.0222217399981115      13.243564293637505
1.024071005064557       13.234649330744194
1.1638420194614305      8.946019236747992
1.0232526920470435      13.467473147147912
0.9981573514103208      13.47582486377456
1.0038178565512192      14.052495462473262
1.0046256845290025      14.31631165484711
1.0034628367667056      14.50927760545854
1.0112074106329727      14.831622519019502
1.137978238333923       14.312051348478374
1.0233169723310593      15.67140017957907
0.9909241088193622      15.273408964580467
1.0208092116369025      15.737325844217265
1.0226008366345363      15.815980311795977
1.0018727326742318      16.36718603125582
1.0085565903647455      16.663446848540634
0.9836046263703194      15.703417274519598
1.0008467071765004      16.3898152696585
0.9915960771622409      17.11186153848582
0.723856551533068       12.876526123686928
1.0064327410364438      17.15892747076226
1.0094220013186113      20.080929679706134
0.9251846486440226      17.66757235677323
1.3454304289655805      20.164058284704804
0.9699402155913361      16.84570423204838
0.9803921580576014      18.050731648656043
0.9434312992805626      18.342464195297712
1.0003943598835754      20.331285249390177
0.9705240783812511      19.11985895771736
1.003044816695084       18.675879183906112
1.02270992782344        19.219591847555375
1.0259194996984053      19.881223955194727
0.962863278547963       20.40296189509308
1.0122188288001432      20.647703721781497
1.015758157392393       20.655580961585024
0.9900731584060933      20.25887339548611
1.0407179208265855      21.138940834048732
1.0467589653313198      22.081413316456285
1.0354850207269122      21.145064143920877
1.02655593622337        22.049677774953132
1.0281010903310965      22.64486840844792
1.0419462338924095      22.428453697985038
1.0432795774845174      23.415886395676022
1.0256365010097344      24.038604131681655
1.037129419346446       22.93204190956109
1.0654075168553077      24.20119363228025
1.0439360736518406      24.53009247633626
1.0631469751682647      23.730129720063587
0.886239624475795       21.927113963124157
1.067854569930343       24.727935133351433
1.1159254692569864      24.9902786127125
1.0414230675657288      25.084454584490082
1.043702057112604       25.602865233081534
1.0607077059802474      27.933218965627493
1.0631537342288973      25.706359640795522
1.043932582644526       25.639062531553083
1.0349550138343637      26.748564293657655
1.0621558739246373      28.569342482088167
1.0758838246615334      27.592313077111275
1.0407378316557352      26.97019678439039
1.0343882891712963      26.831871493902764
1.0344055482305303      27.68524743994179
0.964562142849073       25.461453316747328
1.0383705684117066      27.573699409871278
0.9377334889198258      26.975435732297626
1.028231302844611       28.164374856523622
1.032768264928931       27.870275051881215
1.0330324505245712      27.729118807499933
1.0431513728754804      30.503957402344135
1.0334083427424656      32.99090138478527
1.0246463740761436      27.34663749145027
1.2267554582508413      30.947705049778012
1.040834781637335       29.546915798443987
1.0295628000117838      29.96539335813468
1.0485257533157446      31.060124532036912
1.0496080565980865      31.722445146858167
1.0153259449467908      32.14672324474973
1.0378131508570303      32.37433080867308
1.0491175973841835      32.43784827619733
1.0447256811702064      32.445241132337735
1.015205681614814       31.984735265764122
1.0504249812951576      35.09783265305522
1.1669168042013611      33.68899467091099
1.0805187444261508      33.09494510875416
1.0246470693407963      33.819725411803866
1.0560776654848012      34.4989402753376
1.0529979663579336      33.78538125645219
1.0545997911310965      39.36406794680947
1.004166043454492       43.80169341638557
1.0305628812189636      37.558282853482396
1.0093104013689351      34.04184139922258
1.0051264787462348      32.80697063166839
0.9676885361773885      34.228318532930686
1.0254241556576988      45.74872290352568
1.006504455140438       42.86891943751954
1.0891644532356164      30.191400281405926
0.8189467944076452      26.684578207998985
1.0259418559116904      36.70145389440667
1.0406559810642195      37.15581686867405
1.0108610440549226      40.24103921747098
1.0313077576860943      40.64831007456074
0.8447242638241746      40.10424475678735
0.9974712427764921      35.09599726909109
1.0239287949185238      40.10099318010001
1.0263193333477896      38.619589113599716
1.0275899871088157      39.61453792978286
1.0253010278383026      38.49297666890181
1.0314491538201487      40.611002650960366
1.0261699945160936      44.86088025351048
1.0392008146214478      53.095194332020746
0.9954950178900929      36.61286477597887
1.0451778283058852      47.52402349388933
0.9860105061453546      46.888541098717454
0.9900328371336812      39.91008335338513
1.4825472843790297      41.191016692073944
1.0429229723167575      39.631622532903215
1.0191322810229206      42.44723478893807
1.0353479494426583      40.98831851867038
1.0288046765290582      43.082728439362455
1.037208801499832       44.70424008739113
1.0065133771248453      46.5533575099153
1.0113288068195405      49.80402221706378
1.0354772836560282      45.316745332450836
1.0360131739082132      44.775693360301425
1.1609063630418572      37.377016134809544
1.011490614912121       48.89680204085409
0.9048491164680401      36.40265078251758
1.031821295413527       44.246375200080855
1.0476380389565807      51.50331615487387
1.0086694578849642      43.91416334087846
1.0377903273299083      45.75375189163808
0.9990540320273792      49.16551596404498
1.0205963303138401      46.66237933681823
1.0428769393882658      47.270678976422566
1.0069278303968872      49.882530113286386
1.0032738822829625      45.29279872751483
1.005684128368894       49.79050688467034
0.9661866724619583      45.99632446378479
1.0109197086004875      46.81021168771641
0.9799684698518383      56.975675506980124
0.9670418279609377      44.391973886092266
1.049922902530101       56.71128369502944
1.0167242213957974      48.17413680329109
1.0254012349522474      51.70267177695605
0.9690545087948723      50.36389297119206
1.00836136761846        56.32775706452461
0.9443891501021954      46.738597819212394
0.9822454405901718      50.11964033403096
0.9643061153984658      50.92511672819922
1.032197796188977       54.93924154961263
0.9280818564397745      47.916436384866145
1.2676452665300264      58.03751230795042
0.9610699340808727      47.173298918029644
0.7230504066511392      33.943643980201784
1.0326430552393429      61.33572887257983
0.8718658183364629      30.19627053292477
1.0223112344383678      53.787236175264695
0.741989776747594       41.088700200549326
0.9633294049476946      49.80941156537614
1.0122774569320334      58.87401194187762
1.0572174217771129      55.74451645062151
0.9976866720536857      55.865242777294235
1.0027199793472261      62.84510820094691
1.2043832913064467      53.89569416151395
0.9996619483503674      55.30393832546662
1.010518866878934       57.05929502056989
0.9842843375872511      55.2340038332453
0.9557128655709608      57.5317839771815
1.0014195822081398      56.17816579588312
0.9835143016424918      55.65605888847609
1.0394098524472815      59.00705046577569
0.9685375086426227      57.653377531965525
0.982080941378299       67.57782182366158
1.0098566343853532      54.84220154108927
0.9985654397231862      59.16010370644756
1.0047482602383055      60.69342259039357
0.6773999440490154      37.768871395698014
0.8987148256876031      53.94706432241986
0.9636140429638624      60.98155109473183
0.9940768454018019      62.258174977489794
1.0061191691930578      62.8395579177379
0.9989550862532345      70.37862023028747
0.9777727019863169      55.15970740490363
0.9677885261528607      59.73645820744803
0.9794590034454381      69.65645376592458
1.001994977515083       62.28247004328733
1.0142021879897642      64.07603854513249
1.0110183741015957      68.81612314675026
1.0108782718080407      69.59502273663021
0.6187545698342432      39.416809857444505
1.0141512845778906      53.201729979530725
1.0243030882652124      66.90807968706257
0.9700932715764699      62.10460386461139
1.002060168385688       69.19473908959351
1.0005686328324728      86.66276476149508
0.9508426109242797      64.61694513913285
1.069286369119535       70.20013142898549