const std::string dummy = {"11111 11111 11111 111 1111, 11111111111 1111111111 1111. 11111111 111111 11111 1111, 111 1111 11111111 1111 11111111 11. 1111111 1111 11111111. 111111 111111111 111 11 1111 111111111, 111 1111111 111111 111111111. 1111 11111 111111 11111. 11111111 111111 111111111 1111, 11 111111 11111 1111111 11111. 11111 111111111 222222 22 22222 222222, 222 222222 2222 222222222. 22222 222222 22222222 222, 2 222222222 22222 222222222 222. 22222 22 222222222222 22222. 2222222222 222 2222222 2222. 2222 222 2222 22222 22 2222 222222 2222222. 2222222 2222 22222222. 2222222222 222222 22222 22222 22222 22222222 22222222222.\n222222 222222 22222 22 2222 222222222, 22 2222222 22222 2222222. 22222 222222 22222222222 2222222. 222222222 222222 22222 222 222 222222222, 22 2222222 2222 222222222. 22222 2222222 22222 22 222222222 222222222. 222222 22222222 222 2222 22 22222222. 2222222 2222222 222222 22222 2222 222222222, 22 222222 2222 222222. 22222 222222 22222, 22222222 222 2222 222, 2222222 222222222 2222. 22222222222 22222222 22222222 22222222222. 2222222 222 22222222 333333. 33333 33 333 333333333, 3333333 3333 3, 33333333 3333. 33333333 33333 33, 3333333 333 33333 333, 333333 333333333 3333. 33 33 333333 333333333 33 3333333 333333333. 33333 3333 3333, 333333 33 333333333 3333, 3333333333 33 33333. 333 33333 333333333 33333. 333333 3333333, 333333 33333 333333 33333333, 3333 333333 3333333 33, 33 333333 3333 33333 3333 333333.\n333333333 33 3333 33 33 33333333 33333333. 3333333 333333333 33333 333 3333333 33333333333. 3333333 33333333 333333 333333333, 3333333 444444 44444444, 444444444 44. 4444444 444444 44444 44 4444444 444444444444. 444444444 444 444444, 444444444 44 444444 444444, 4444444 4444444 444444. 44444 444444 4444 444 444444 4444444 444444444. 4444444 4444444 44444 444444, 44 444444444 4444 44444444 44. 44444 44 44 4444. 44444 44 4444 4444. 4444 44444444 44444 444 4444 44444 444444444444 444444444. 44 4444 4444 444444444, 44444444444 4444 4444, 44444444 44444. 444 44444444 444 4444 444444 444444 44444444444. 444444 44 44444 44444 4444 444444444 444444. 555 55 555 555 555555 555555 555555555 55 555 5555 555555. 55 5555 5555, 555555555 55 555555555 55, 55555555 555555555 55555. "}; const std::string lorem = {"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas tempus felis arcu, sit amet suscipit ante bibendum ut. Aliquam erat volutpat. Nullam malesuada sem ut nibh elementum, sed finibus libero elementum. Duis vitae cursus neque. Maecenas varius convallis orci, in congue justo commodo vitae. Nulla fringilla lectus at purus tempus, sed ornare urna fermentum. Proin mollis pulvinar sem, a fermentum metus efficitur sed. Morbi ut sollicitudin ipsum. Vestibulum nec feugiat nisi. Duis sit amet neque ut eros luctus gravida. Aliquam erat volutpat. Vestibulum mollis justo vitae metus vehicula ullamcorper.\nNullam semper magna ac nunc consequat, ut posuere nulla finibus. Morbi tempor scelerisque viverra. Curabitur cursus dolor sed dui consequat, in maximus erat consequat. Proin iaculis massa at ultricies ultricies. Aenean interdum vel elit ac accumsan. Aliquam posuere sapien vitae enim imperdiet, ut luctus odio semper. Etiam tellus magna, suscipit nec erat non, viverra facilisis elit. Suspendisse placerat sagittis condimentum. Aliquam nec suscipit turpis. Etiam at est tincidunt, sodales odio a, vehicula nunc. Maecenas metus ex, sodales nec lacus nec, tempus convallis nibh. In in lectus hendrerit ex aliquet facilisis. Fusce nibh arcu, mollis et vulputate eget, vestibulum ac neque. Nam vitae tristique augue. Nullam pretium, tellus vitae mollis ultrices, diam sapien aliquam ex, eu tempor eros velit quis tellus.\nPhasellus ut nisi in ex lobortis pharetra. Aliquam facilisis augue nec feugiat ullamcorper. Vivamus pharetra mauris venenatis, blandit mauris placerat, tincidunt mi. Aliquam cursus magna at sodales sollicitudin. Curabitur leo libero, porttitor et mauris semper, iaculis viverra ligula. Donec semper nibh sed sapien pretium vulputate. Integer posuere risus turpis, eu malesuada orci bibendum id. Etiam ac mi enim. Donec in odio ante. Nunc eleifend massa sit amet augue pellentesque porttitor. Ut eget enim facilisis, scelerisque nunc quis, vehicula purus. Nam pharetra leo quis libero mattis condimentum. Aenean id lorem vitae nisl efficitur ornare. Sed ut dui sed lectus tempor efficitur ac sit amet mauris. In erat erat, dignissim in ultricies ac, ultrices tincidunt mauris.\nNulla venenatis sollicitudin lorem, sit amet porttitor nunc dapibus ullamcorper. Etiam at consectetur ante. Vivamus venenatis nunc nisl. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam mattis posuere sem at maximus. Fusce ut augue justo. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris tempor lorem nulla, eget dapibus lectus laoreet eget. Nam sed nisi quam. Maecenas pulvinar ornare metus sed gravida. Quisque porta semper mauris, at mattis enim tempus vel. Aliquam erat volutpat. Nunc suscipit tempus est, eget condimentum magna molestie placerat.\nNam viverra, mauris sit amet lacinia dignissim, elit urna congue dolor, ut consectetur orci nisl quis tortor. Fusce rutrum sapien quis nunc dapibus, a aliquam neque dignissim. Nam eu orci eget nibh mollis bibendum at sed eros. Mauris non faucibus turpis. Sed eget efficitur libero, at pharetra mi. Suspendisse tempor nec lorem sed convallis. Aenean et tempus augue, vitae molestie sapien. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse urna odio, pellentesque egestas mauris aliquam, maximus aliquam ex.\nOrci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam ac ex ultricies, condimentum nisi id, egestas nunc. Sed consectetur sit amet turpis eget efficitur. Praesent pretium laoreet turpis, in porttitor neque. Praesent viverra, dolor ut ultrices auctor, nulla magna scelerisque enim, quis congue nulla nibh at nibh. Praesent ullamcorper enim ac libero elementum cursus. Etiam a nulla ac mauris pretium semper sit amet ut enim. Quisque eleifend, odio eget iaculis auctor, arcu purus scelerisque magna, sed blandit quam massa ut lacus. Duis sit amet nisl odio. Sed interdum urna et felis rutrum imperdiet. Morbi et faucibus sem. Aenean pretium dolor a velit porta gravida. Donec rhoncus bibendum pharetra. Pellentesque feugiat libero sit amet rhoncus consectetur.\nSed ipsum massa, blandit quis dictum non, iaculis vel turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam iaculis odio condimentum magna elementum imperdiet. Donec tempus, erat eget rutrum vehicula, ipsum risus pulvinar libero, non dictum mi erat in eros. Nullam egestas imperdiet neque nec lobortis. Vivamus pharetra bibendum finibus. Nullam molestie ex nec urna facilisis, vitae pretium sapien feugiat.\nMauris vitae dolor eu dui luctus dignissim non vitae purus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus venenatis erat sem, at ullamcorper risus gravida eu. Vestibulum elit orci, iaculis non rhoncus vitae, rhoncus commodo leo. Sed ullamcorper urna ac tortor luctus scelerisque. Pellentesque interdum ante vel urna rhoncus posuere. Ut accumsan vestibulum ex, a lacinia nibh blandit sit amet. Integer sit amet ex a quam vehicula posuere quis non tellus. Etiam eleifend, libero et pretium blandit, magna sapien accumsan ante, eget sollicitudin elit ex eu ante. Aliquam ultrices velit sapien, et placerat dolor blandit vitae. Etiam ac diam in lorem sagittis porta eu ut felis.\nEtiam faucibus leo dui, nec pretium libero suscipit eu. Quisque blandit mauris nec vestibulum mollis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris dapibus accumsan orci, sed dapibus nulla volutpat non. Quisque vitae mi ac ipsum facilisis bibendum vitae non diam. Fusce leo mi, dictum sit amet nunc eu, congue semper augue. Suspendisse eu eros bibendum, dignissim libero vitae, gravida leo. Donec eget ante risus. Aenean pellentesque in lorem eu laoreet. Nulla a sapien enim. Phasellus dui velit, feugiat sed dui ut, condimentum posuere leo. Suspendisse aliquet imperdiet mi, a sollicitudin erat sodales nec.\nCurabitur suscipit velit eu odio hendrerit faucibus. Vivamus at nisl velit. Ut tincidunt est ut dictum aliquet. Praesent at magna eu lorem fringilla mollis eget et libero. Fusce tortor augue, gravida a dignissim in, consequat nec quam. Nulla felis velit, tristique at fringilla ut, efficitur sed quam. Mauris condimentum sollicitudin ultricies. Cras nec blandit risus. Praesent bibendum sem eu metus scelerisque varius fringilla eu massa. Nam ullamcorper facilisis turpis dignissim dictum. In cursus urna nec tellus elementum aliquam. Sed ornare arcu sit amet tellus interdum semper. Nunc vel condimentum nunc. Vestibulum dignissim ante ipsum, id placerat urna euismod at.\nMaecenas pretium posuere libero, sed fermentum sem fermentum non. Nullam et velit vel erat maximus venenatis tempus vitae urna. Donec ut porta diam. Fusce ultricies vel velit ut auctor. In hac habitasse platea dictumst. Nullam elit lacus, fermentum vel rutrum vitae, lacinia ac tellus. Proin placerat, sapien tristique consectetur gravida, felis turpis condimentum arcu, vel interdum arcu felis nec lacus. Phasellus ut justo porttitor, pretium metus id, sagittis ipsum. Nunc porttitor elit eget massa congue lacinia id sit amet enim. Nam ut diam diam. Donec tellus massa, pellentesque ac aliquet ac, ultrices vitae turpis. Nunc molestie nulla vitae libero ultrices, in ultricies sapien hendrerit. Proin porta ex vel vehicula euismod. In hac habitasse platea dictumst. Nulla vel diam consectetur, iaculis orci eu, faucibus felis.\nInteger ac consequat neque. Morbi laoreet pellentesque purus quis facilisis. Phasellus accumsan commodo justo. Aenean gravida nulla at lorem vestibulum volutpat. Mauris sodales cursus dolor, vitae convallis ipsum eleifend sit amet. Vestibulum faucibus, odio ac molestie volutpat, risus nisl luctus diam, id eleifend velit neque ut dolor. Curabitur tincidunt, arcu cursus semper sollicitudin, nisl felis faucibus ligula, et blandit ipsum quam vel augue. Integer dignissim commodo aliquam. Ut ac neque cursus, posuere mi vel, sodales enim.\nUt venenatis dignissim justo ut congue. Fusce malesuada augue molestie est pellentesque viverra. Ut consequat ac augue ut accumsan. Integer quis nulla vulputate augue feugiat vehicula in vitae erat. In lacinia, est eget placerat posuere, lectus nunc varius nulla, mattis lacinia quam purus et dui. Vestibulum gravida risus non fermentum semper. Sed feugiat elementum nisl eget hendrerit. Nam eu elit id justo ultrices vehicula sit amet sed purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer sit amet metus ac dui imperdiet consequat. Suspendisse potenti. Sed quis risus eget velit bibendum pellentesque eu at neque. Vestibulum commodo purus eu libero cursus, quis tempus mi luctus. Cras rutrum turpis ut bibendum elementum. In convallis, justo eu imperdiet interdum, velit lectus interdum ligula, ac lobortis lacus nulla eget erat. In et luctus ipsum.\nEtiam sit amet vulputate justo. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec enim eros, aliquet lobortis scelerisque sed, lacinia ac lacus. Maecenas maximus pharetra aliquam. In commodo, mi eu ultrices tincidunt, sapien lectus faucibus risus, quis sagittis lacus enim eget risus. Cras a aliquam ex, et tristique justo. Aliquam id lectus vel nulla rutrum gravida ac eu turpis. In posuere leo vitae justo bibendum, id consectetur nisl vestibulum. Sed ac fringilla ipsum. Proin imperdiet, augue sed sodales efficitur, eros dolor elementum mauris, ac gravida sem est in sapien. Morbi pellentesque semper posuere. Vivamus in cursus nibh. Cras congue pulvinar justo, sed congue est venenatis in. Donec sit amet augue vel lorem feugiat tempor. Donec ultricies condimentum porttitor.\nVivamus bibendum ex erat, sed pellentesque leo venenatis pharetra. Pellentesque sapien libero, vulputate quis porta vitae, tempor sit amet nunc. Curabitur nec porta ex. In tempus ligula eget felis scelerisque blandit quis nec metus. Ut bibendum purus vel orci placerat, et semper augue aliquam. Vivamus volutpat porta vulputate. Sed pretium sagittis iaculis. Sed eu ligula sit amet nunc fringilla vehicula vel non est. Suspendisse rhoncus sapien lobortis neque fringilla, id sollicitudin lectus auctor. Fusce magna ligula, ultricies nec turpis nec, iaculis tincidunt nunc. In faucibus, sem in tempor convallis, leo mi molestie dolor, eget gravida arcu nibh ac dolor.\nProin eu metus ut ligula pharetra commodo sed eget eros. Nam quis elementum tortor, quis accumsan tellus. Nulla facilisi. Ut aliquam turpis risus, eget suscipit lorem mollis eu. Donec tristique ex eu massa viverra, ac varius massa vehicula. Vivamus tincidunt quis neque eu accumsan. Proin efficitur dignissim tempus. Cras at convallis purus. Nullam vel sollicitudin lacus. Nullam non ligula sit amet felis volutpat convallis ac ut enim. Sed eu iaculis quam, finibus porta sem. Ut vel lectus at nisl sollicitudin rutrum. Nam elementum congue tortor nec ultrices.\nIn hac habitasse platea dictumst. Nulla eu lectus odio. Ut sit amet porttitor diam, vel bibendum ipsum. Proin sollicitudin tempor massa. Donec malesuada, nunc in laoreet iaculis, sem orci aliquam diam, id placerat risus erat vel ex. Phasellus vitae fringilla felis, ut tincidunt velit. Cras non condimentum nisi. Phasellus lacinia euismod tellus. Sed id maximus massa.\nSed id lacus vitae sem venenatis vestibulum id vel nisl. Nunc imperdiet arcu in libero scelerisque, nec ultrices mauris egestas. Donec venenatis massa risus, sit amet tristique nisl ullamcorper cursus. Ut at est nec lectus mollis fermentum. In hac habitasse platea dictumst. Mauris dignissim consequat dui, ut elementum elit iaculis a. Duis tincidunt, diam convallis consectetur imperdiet, purus ligula facilisis lacus, ac tristique orci ipsum efficitur massa. Donec consequat tortor ligula, quis lobortis risus iaculis vitae. Donec placerat molestie enim eget tempus. Aenean volutpat ante vitae ante venenatis, sed dignissim ipsum pulvinar. Pellentesque eu odio aliquam, posuere felis ut, hendrerit felis. Morbi maximus nibh in quam hendrerit imperdiet. Morbi fermentum mattis erat. Ut vulputate massa justo, et pellentesque enim sagittis vel. Aliquam ut dolor et urna volutpat iaculis scelerisque id magna. Nam diam diam, semper ac lobortis non, vulputate et nibh.\nIn eget leo nec diam rutrum consectetur. Donec a posuere lacus. In consectetur tempus dui ut laoreet. Sed ac fermentum tellus, vitae tincidunt neque. Praesent posuere purus eget ex vulputate, vitae euismod nibh sodales. Proin porttitor, tellus lobortis maximus eleifend, velit enim laoreet sapien, eget pellentesque augue nisi nec turpis. Mauris id arcu vel velit interdum tristique. Morbi ornare quam turpis, ac aliquam justo gravida interdum. Suspendisse ante enim, molestie feugiat magna id, convallis ullamcorper nisi. Ut vitae dapibus sapien, ac tristique nunc. Nulla lectus sapien, rutrum vitae leo vitae, convallis tincidunt arcu. Donec auctor vestibulum efficitur. Aenean accumsan enim ipsum, non pharetra urna imperdiet eget. Quisque nibh libero, egestas eu libero nec, dictum efficitur lorem.\nNunc pellentesque id tellus ac scelerisque. Nullam rhoncus, dui et sollicitudin placerat, tellus tellus consequat tellus, at eleifend erat turpis a dolor. Suspendisse quis aliquam neque. Nulla ac tempus elit. Vestibulum ac lacus ex. Cras mattis velit non rhoncus laoreet. Nullam vel ultrices sapien. Aliquam vitae finibus sem, quis accumsan enim. Morbi aliquam feugiat dictum. Aliquam aliquam nec felis sed ultricies. Suspendisse congue erat nec mi viverra, ut commodo tortor placerat. In magna justo, pretium quis faucibus vitae, mattis vel erat. Praesent laoreet metus id porttitor dignissim. Etiam dignissim magna nisl, eu malesuada sem porttitor quis. Aenean vestibulum felis in lorem tristique pharetra. Donec tincidunt at sapien a malesuada. "};