#include "exam.h" #include #include #include #include static floor_test rational_floor_tests[] = { { "13918288150951705093/1401140429528746218", "8037346830653401534/12140087246062147767", "15", "15819536596165521240797345101333717/5669989019487990500153722689252798402" }, { "-3027396677293618661/17394867614909941317", "-2291333958125929004/3188627451035828949", "0", "-3027396677293618661/17394867614909941317" }, { "2672347537044132983/1242644867650938739", "-18408840898134373335/10231522001278674776", "-2", "-9204560351304414094275545654164256161/6357074151573303338260935869140273732" }, { "2909960574201625242/1140661215026522267", "13303037060238089383/18166352033245030796", "3", "7340592943788470245594328177983578849/20721653182840810059519494723194734532" }, { "8198662690782244017/1375380265264517299", "-9940234650829186147/17690753691491997765", "-11", "-486100547007747193780627302695509498/2211955773175772955922986386719257885" }, { "3966139130172032305/18040321970861620778", "152082737803043526/946729689784517957", "1", "1011240112172972726360628393816617657/17079308423086645837394450304465310546" }, { "10199468022732280591/121419468943382552600797741323914786260", "-2627475271750260665/95465240194344921114274153619846654671", "-4", "-302411943986468199606823674581501024373007929237189061039/11591338766949818909386523271402122174353420293128216789558932652732995620460" }, { "-8471401573321747185/5927836485002954534423728282157030389", "-10006560123550811854/209494971446104969537769985569938393355", "29", "-54515717208483066409886298754350924985999966734110450701/1241851935162873209670541996670866824232223815534136678858726178724570665095" }, { "3041516402669280559/23467966340832028705164128018098446335", "6098690148519419819/74694157223362514640536233319542912231", "1", "12008521321399654679364472921217933270209469640706386252/250417138224955291159963090840561809997874350767164909187205124534624089055" }, { "12371726101368968041/23093272201098893335944386552801821150", "552920335555268471/59704833009801809998987650097493815639", "57", "10833671498697672110331389655963519805471190684307179149/1378779960416507709477447168250340219220272308941040290894608990101550964850" }, { "3936278768643199217/61530125725985401304656961990591319570", "-4622522820386904221/99931589582562481620405120529601200875", "-2", "-11699348415245273343366505594272785590391481515341739671/409920218067509498701508662179031915635595553469094563928706113041525908250" }, { "3378221394828629408/57360271731094852990248264232533113197", "-4121489923477642292/582636574825978160767401314647264235", "-1", "-234441506605160102966099186988989055202999923102442904644/33420192252492486160839993475212088893408362946965395344436948483624609295" }, { "-3136864170660359113/44018155426864484368550814560728963265607376469242388043913852619483671810359", "7592249764621265399/61218932554330370729612969835045191215382261653025522947071546902482986859295", "-1", "142161354082922159316702479104046765633220994190482626315401062617857980099757409386379034462906/2694744488243248258380889922671073488004909384816885899374920518252041793957332742201117787314100221762775952924983170065632438581816845330037820256436905" }, { "8388845076992722039/113324439625023255923060004687633012536810961583168953468887128369059333869915", "29270787347930250/338347801532036561796340241450622341080868991428994657767799334610272208941", "0", "8388845076992722039/113324439625023255923060004687633012536810961583168953468887128369059333869915" }, { "4061469742865314937/64801603451247667482343238717974543532449298971352747107214551636724513855613", "1344403291462061700/38470586305356068360716898225197866224089081322833216143931662358746898751411", "1", "759644321951821493138045865317431182965861074290543254824595494322779964610920583206631767077/27395117343919593983759778902763691133722708413625034340026933459895718790907695509798551507285536033282436777270923749566119049487283571076783727846373" }, { "-6300876868463754766/63495830134457398131576869576746882401947668656296419431644557856865817622371", "2683373787654434721/32958906466135519543294750118994566579246721224880398401534853634103601897753", "-2", "133096081053989316587079956940067402118415059770888001584265696499152144351877946562766899046184/2092753126391210514581307904104631961415819403699771474276457943469530908829049497503906750315560161637143522534287446520082226490203274292567625907432363" }, { "-472307136668592250/36283411370339306010717878389083492352344779970196813667782297535345620767127", "-3180306511295187523/75166923119981694900512094733973876755239261156251968596129974579413418042019", "0", "-472307136668592250/36283411370339306010717878389083492352344779970196813667782297535345620767127" }, { "-3148795985647001686/64429795462330994424525695145310698340316900821860011346129307089831843824641", "-11298596415200487525/56650030835870774988744337125832477562271330606264442454925440669251648355512", "0", "-3148795985647001686/64429795462330994424525695145310698340316900821860011346129307089831843824641" }, { "-102545151309532699273956369870862301497/6030775709520909501", "-3288683205470962892631604702141093469/1221554251153305018", "6", "-348033375896483356529697355308057680498851424685117674/409273316984297575168605808523732001" }, { "262657016871433510082498751402781174749/7573480743368102221", "51080528722906667824171406466289726452/1601607284756767193", "1", "33815990969774126823949725673411671713268069951579559665/12129741929543448973808409847523235653" }, { "138482489784362691982393629835416135309/3631852344347114410", "-24756007176022054565783765242491988918/219932185588761813", "-1", "-59453406054861418860933161489781197608471921856017953163/798761223827929241442393231350025330" }, { "-212217151846170123039362268732482984696/11596630494102963285", "157767757347916893207763952109296030356/10257360923209581435", "-2", "32941352246943117620876731374547894383947184420447916448/2643351654913607911070701558622724755" }, { "-66747006612989726802598039638160699571/2655077042212383298", "40811355885089157404164119163071734769/5571784139947382276", "-4", "15382315863254661753182362315746357118308047043239937263/3698379038534340915097856546560906562" }, { "68762140087929702254258676232660238758/15300356027061891153", "-35857327153107467171153230588794581375/12686181688605082704", "-2", "-37488456798327399439537660212002603897618511901320984853/32350516076608496130809185423035152952" }, { "242045811640213090811968332747485173382/200549144102874156362839425688475328049", "-14720899626826592765120758929463878529/55362986404688226126571951930830517493", "-5", "-1360940123773119189782995319087829718305547957827775584170427519233923828279/11102999538439281856672090511521389719230333671905312848993361013013608061157" }, { "-119845294654504250162135973476212065855/100235561394484311088266800183679226574", "80594461105267736432364594799413149425/61631997559252488378599155330559465978", "-1", "173031536634535211165479230108382118112369885610634326444128663790131209690/1544429468803790002857581373808877159258315141389178393568445604388376624843" }, { "-230485693234637510798211679560546639349/52735224446003804525152654032694494673", "-216057981617610709644611545583688426965/260006637986112259187147152181319007048", "5", "-2958479432060194175681245276352090941756054532611547690395592385359334844527/13711508411648488620980405764270377927416829995446554240961159998044485455304" }, { "-6594316542549343232263525515993767282/10217421010314527320204876001269664067", "150738011702184633072457541580514087744/135040956724953232085930818414328999685", "-1", "216550304321963092517168155612888510209814057236150214483836375316700196226/459923436164837338339599279302608001719626738369225259576013169605366272965" }, { "215280935061082631947114960623303029323/207354325693067193327551969107966799241", "79751059907103262336474674983968289237/4337760464235769010513178238272088134", "0", "215280935061082631947114960623303029323/207354325693067193327551969107966799241" }, { "310160128112311271225164732000676894965/86670395306350722800942425502835485142", "178141651878134061724955020964246844473/148821875093870378260620578385076958277", "2", "5093132355806944300558276298272344941234347692198850733707837927916021244991/4299483581539365588748720077960621199296398702837049138084337644406995806778" }, { "-108659820552054791199784298344597956614/11790531032698157780195997261827578010352156078055016836768011974016954903741", "-92538322534416259700833065660026629223/19585963177324586927996277066630337817907750129846119872015696245293090497388", "1", "-1037131280631376361623284528995684848351041247146708940120596004521550738167239284685366257725745514224913041700989/230928906647528953486003129436653219142752591225509660589870619206780147714239888278154624266956202529317853226309156501996262035307639197627615351928508" }, { "5394706491096230323847274166255447931/10999333470518091906908673737442830723710024941373839628113269063387717150756", "105688652677006186461732590041930264063/21972728496093720326374563200555762299989227113998910666496198593694363180514", "0", "5394706491096230323847274166255447931/10999333470518091906908673737442830723710024941373839628113269063387717150756" }, { "-191689412702065586724423672263415136270/93810201821180445246181740077575222573046098171118578720996957721548578622199", "-96035306478379345278597023485459703599/90477882577875726723065337577743037040931870384035502080606137411367114071296", "1", "-8334560691183765714134253806956288712175511004636349604358505688696669629914037375584956898475941052209595993911719/8487748424983587977143569651002086894691875550521839392659856872027244953584789975128015403703285861633097358090901236825413778659897331594626425134299904" }, { "-23269937861894460494044792238228308465/36609152344338882339480850660297061488131282119857763060331849352205685148721", "325068909216594106686082320524489871331/91177237475655724082435461235746167562462517272459785633509544221351873775622", "-1", "9778808569440655820425835535754928474979020881405653286273845718180424961228320899578451645656486131670752875977421/3337921377082244749772660717107363339434489502423902307989133990817960972244485458695718522007125256227586389900645261310720433804087640398154830854279462" }, { "-238326953836192259685740729837504392751/14355772111692545517089448796014758311054554297101342377064555342044509505629", "-2243842813596041779461072557214411973/26977869328891440663623277939723739398284518432434090329689171706564354694000", "199", "-6448765647740977471904737113847651808330060639815597135148713750030489976324569684096986913258458168828297495539/129096048048195144296601029799754739460578975322841318685536300111243981862070688561642588911885232705019881753766051653025282618058049676501115190842000" }, { "-154358049055187385619395426022892405693/9651466522903571511806795329901971873531573523740147689205585933143787251744", "234831599528611417562275088467151900111/23212020955553784427152057042945842586938059290340162186208579138883161355663", "-2", "316658791137724604029754690574124702890700231484127998714230110560397057808441246896564869593555547226559779365903/74676681060487840411987924431521223169933844488425876950176937169482763523750924018302125631058404128587876741120722730563623397211887516476096033675424" }, { "-43654015885600226452139253734240763904114948357839504394635758939147918485226/8959421350865475053", "-71396498978827369985021009185210519228191289633806094987720268011017813959395/5118659875263168828", "0", "-43654015885600226452139253734240763904114948357839504394635758939147918485226/8959421350865475053" }, { "30206748063040753946799836869317684942154090322823467523870425873885298155111/10481539418044277488", "47024848487236673350978260730205414416590483746605328718368229684499622280474/7191921838593099535", "0", "30206748063040753946799836869317684942154090322823467523870425873885298155111/10481539418044277488" }, { "-78297878369391722158254897331818780133560455296543117876032852961696240531334/3439835335342974343", "-12036259456916995957158314961009661904873237837146662571140339452059150719867/7648180594799196815", "14", "-19197805765101853520494699712598051602631126933023081616555585309855479307669655742300981287876/26308481861074724148503061769552317545" }, { "-11644466368871135752271367372638717312589950278007329817169736850185519100737/1311440431008130360", "16666792145043036974187190230561351375866940864814143604767927371030164658327/1190204555866760523", "-1", "7998208151350462202845967149504108047636942539158206705970028049633264098721802988652183702269/1560882375733744790369742288085778280" }, { "-79973663368880337215592714973251653953011156710750446016524362581184906490344/13217906252057303539", "58550120458525994168414457422879483045080411293174816365332363703279727325517/11983119832054095608", "-2", "294743007488634911900879023610601157709203210196036764662698142539282328840165292825377976700087/79195877273629847756913363266891378356" }, { "-41283916983957018057492477658728498328100012640087810269690534262888976961251/890401703093780527", "37905097813993829793947873722213455441729327992618875876994782685865871567157/6801392244603328629", "-9", "7656253348038361960592683452946138937700391767097248361228404271354846832369355003597180736924/2018657079334544839920956083927269161" }, { "-18621387073793741287833632061282985993236184599525107084971126746444001531559/112377251064249742125143336262406044187", "-80344252057643577515390451958447799739023169996897035042227858478107352127859/16565237077789941458934656364080562722", "0", "-18621387073793741287833632061282985993236184599525107084971126746444001531559/112377251064249742125143336262406044187" }, { "-11067278490740390186400140048488373691939192899502978554850454064301747327289/279730468938850077684950205987597341304", "10742600231685337944302634339424380376867728558611903252501449407612160123471/85514692364145379323997472383947484080", "-1", "85775736874497976296219552104494263998937714945890467644689458878788010379480929901293727971077618208617170461961/996711041507662039484243506170638972651237308243642442559705598573661101680" }, { "60114400703399744178227904113253512958642740092037841351403601970012663733574/137652538688206271590219421417082587275", "48818636606796573849225811493965362933035106650390076441334389457476994620122/53029693036557887125608655547988906029", "0", "60114400703399744178227904113253512958642740092037841351403601970012663733574/137652538688206271590219421417082587275" }, { "3914498366778062569843980805049542971189141573995351572704819538012574198620/2893535793927099250376915741311683101565016171163532500028982710856616653543", "-64455977862771995990556362474021252617135665526576459531278423102067698175925/3427268293660091333898426457103031174054024747619806545506815375759964110507", "-1", "-173089642940460836493548201378493831666834527213381638819285816422714170656111775323359444521902045952676537769939820706047335458029055584112252141651935/9916923483096927116177052980173451074387932639677487416966276325060341893415045555506102924285291258490295955820662010134773377007870870750288985076301" }, { "88685468991633001080737925907185943038820418099572822599681084512202985499349/12356339561700478684701129356342132279853496560835988907745653698832814553183", "6529471572210817352014560971376587702394496047549533959161274051805568907/3739659250056306079416159597801009351379164652345884310988690700223397485", "4", "8931962841313470806790103494237286341563410404854617106114803081793820819240374925219641539537617481113314045913411523358730270170471325648745013341/46208499538749877879324553712339970407875860449933229680283463405247211324108302788607460717099015088790299594129098751336540918286885704752480944755" }, { "5294621876959552948152278397535786930445255402598688035901577017296377116948/5881250468392395166026135319241737823103911942970361556821993967308880332607", "-65630221834131781450865541487035630878349246622282004360445526978282263449249/98696808137715829282209856003081855629375417101578635063186137762415694777903", "-2", "-249413266253338816038191146071217173249587815937933968995202267999853691656986532179554523041282106904325952906300316562845535251623832095499430051524242/580460649088775579832453445973177920831893989101100068436102498480125976298386547626652311003668489010795846489626845062951616643824353457996671633983121" }, };