n = 659579821183836038266943598304218776368318540276138330155555297039937459504951049712027096329092131051525553510926825974907599599270866537536413294112127542804283699907366713021169174646140816426505906935643398094395233034492103299694331588629777536174638787212528065645386367859547290069334271284550001443491 a = 594819800876068677846447950385881037452970784766930153596598974881185949959481526948814142572929649044359423606499628841530707484413615004371222269115747503432561135418809135548250927755537508244564085456792237503583699347213458540136019581492235971037423051037670726675829237474081336057988911409906753892706 b = 226898533369920263262892959999247333002595133796515845936059951629556798296020845926627452182720501033408059072343703075158864714119995602951198053872136596387551897540833467896897737423085311408907164184305765792208292710653533214233482166904405157921067844003557994961395505003277934622041284723558793924485 c1 = 40637495105233026591473578353258728270902745714337275204640044688158264328430302346500331544567714095513501864385667456197374248439552764479286935430867090454231790952938209261153972719064033499474822064766033025078868774267666014679395362334317864461561286502214580905492729955933617590716037155390132298439 c2 = 162752302785445164912910002869961729710133996452484614287158964012066987757082320836060048092696827431075495099500786654789269877956826395429533002940369559166314561321277057804460634015185169524443503635368374484380396648164386096141044154852599419956379823983292221271560534942321027211225573182222909517101