/* * Probem #10168 * 10168 Summation of Four Primes * 2005/2/23 */ #include #include #include #define STEP 5000 int is_prime(int p); int prime_tbl[2000] = { 3, 4993, 9973, 14983, 19993, 24989, 29989, 34981, 39989, 44987, 49993, 54983, 59981, 64969, 69991, 74959, 79987, 84991, 89989, 94993, 99991, 104987, 109987, 114973, 119993, 124991, 129971, 134989, 139991, 144983, 149993, 154991, 159979, 164987, 169991, 174991, 179989, 184993, 189989, 194989, 199967, 204983, 209987, 214993, 219983, 224993, 229981, 234989, 239977, 244957, 249989, 254993, 259993, 264991, 269987, 274993, 279991, 284989, 289987, 294991, 299993, 304981, 309989, 314989, 319993, 324991, 329993, 334993, 339991, 344987, 349981, 354983, 359987, 364993, 369991, 374993, 379993, 384973, 389989, 394993, 399989, 404983, 409993, 414991, 419959, 424967, 429991, 434989, 439991, 444979, 449989, 454991, 459961, 464993, 469993, 474983, 479971, 484987, 489989, 494987, 499979, 504991, 509989, 514967, 519989, 524983, 529987, 534971, 539993, 544979, 549979, 554977, 559991, 564989, 569983, 574969, 579983, 584993, 589993, 594989, 599993, 604973, 609991, 614983, 619987, 624983, 629989, 634979, 639983, 644977, 649991, 654991, 659983, 664973, 669989, 674987, 679993, 684989, 689987, 694987, 699967, 704993, 709991, 714991, 719989, 724993, 729991, 734971, 739969, 744977, 749993, 754993, 759973, 764993, 769987, 774959, 779993, 784981, 789979, 794993, 799993, 804989, 809993, 814991, 819991, 824983, 829993, 834991, 839981, 844957, 849991, 854993, 859987, 864989, 869989, 874987, 879979, 884987, 889963, 894973, 899981, 904987, 909977, 914981, 919979, 924967, 929983, 934981, 939989, 944987, 949987, 954991, 959969, 964981, 969989, 974989, 979987, 984959, 989981, 994991, 999983, 1004987, 1009993, 1014989, 1019971, 1024987, 1029989, 1034993, 1039979, 1044971, 1049977, 1054993, 1059941, 1064989, 1069987, 1074991, 1079987, 1084987, 1089967, 1094983, 1099961, 1104959, 1109987, 1114987, 1119959, 1124993, 1129991, 1134989, 1139993, 1144993, 1149991, 1154987, 1159993, 1164991, 1169939, 1174973, 1179991, 1184993, 1189967, 1194979, 1199993, 1204981, 1209979, 1214981, 1219991, 1224991, 1229993, 1234991, 1239989, 1244993, 1249943, 1254983, 1259983, 1264981, 1269971, 1274989, 1279969, 1284991, 1289971, 1294987, 1299989, 1304987, 1309963, 1314953, 1319963, 1324979, 1329971, 1334969, 1339993, 1344979, 1349993, 1354987, 1359991, 1364971, 1369981, 1374983, 1379993, 1384993, 1389991, 1394993, 1399963, 1404989, 1409977, 1414993, 1419973, 1424989, 1429969, 1434991, 1439989, 1444981, 1449983, 1454993, 1459993, 1464977, 1469987, 1474981, 1479991, 1484969, 1489979, 1494989, 1499977, 1504991, 1509971, 1514971, 1519967, 1524989, 1529989, 1534993, 1539991, 1544987, 1549987, 1554989, 1559989, 1564993, 1569983, 1574987, 1579993, 1584983, 1589981, 1594987, 1599977, 1604983, 1609991, 1614989, 1619987, 1624993, 1629983, 1634987, 1639991, 1644991, 1649993, 1654987, 1659971, 1664987, 1669979, 1674991, 1679981, 1684993, 1689967, 1694989, 1699993, 1704991, 1709993, 1714963, 1719989, 1724981, 1729961, 1734989, 1739981, 1744993, 1749991, 1754971, 1759991, 1764979, 1769987, 1774991, 1779983, 1784989, 1789993, 1794983, 1799983, 1804993, 1809991, 1814993, 1819957, 1824989, 1829963, 1834993, 1839991, 1844987, 1849979, 1854991, 1859983, 1864987, 1869991, 1874993, 1879967, 1884973, 1889981, 1894969, 1899983, 1904977, 1909991, 1914971, 1919987, 1924973, 1929973, 1934993, 1939969, 1944991, 1949947, 1954991, 1959973, 1964987, 1969993, 1974989, 1979993, 1984991, 1989989, 1994989, 1999993, 2004991, 2009989, 2014979, 2019977, 2024977, 2029991, 2034979, 2039993, 2044979, 2049991, 2054989, 2059979, 2064983, 2069989, 2074993, 2079943, 2084993, 2089979, 2094991, 2099963, 2104987, 2109979, 2114977, 2119969, 2124973, 2129983, 2134991, 2139979, 2144993, 2149993, 2154979, 2159959, 2164991, 2169991, 2174981, 2179993, 2184991, 2189989, 2194993, 2199979, 2204977, 2209993, 2214983, 2219977, 2224991, 2229991, 2234993, 2239987, 2244973, 2249987, 2254969, 2259967, 2264959, 2269991, 2274977, 2279993, 2284963, 2289979, 2294993, 2299963, 2304961, 2309969, 2314969, 2319959, 2324981, 2329979, 2334989, 2339977, 2344987, 2349973, 2354969, 2359993, 2364991, 2369993, 2374979, 2379989, 2384971, 2389993, 2394961, 2399993, 2404993, 2409983, 2414989, 2419993, 2424991, 2429983, 2434969, 2439991, 2444983, 2449991, 2454961, 2459993, 2464981, 2469989, 2474957, 2479991, 2484973, 2489947, 2494993, 2499989, 2504987, 2509993, 2514991, 2519981, 2524987, 2529971, 2534993, 2539981, 2544977, 2549993, 2554991, 2559989, 2564957, 2569979, 2574983, 2579989, 2584987, 2589991, 2594989, 2599991, 2604977, 2609989, 2614993, 2619973, 2624989, 2629973, 2634991, 2639971, 2644981, 2649989, 2654989, 2659963, 2664989, 2669987, 2674981, 2679979, 2684989, 2689991, 2694977, 2699989, 2704993, 2709923, 2714983, 2719991, 2724989, 2729983, 2734981, 2739991, 2744969, 2749991, 2754991, 2759971, 2764967, 2769983, 2774971, 2779991, 2784979, 2789993, 2794993, 2799991, 2804993, 2809987, 2814991, 2819987, 2824993, 2829977, 2834989, 2839981, 2844983, 2849989, 2854993, 2859991, 2864977, 2869987, 2874979, 2879971, 2884993, 2889979, 2894993, 2899993, 2904989, 2909993, 2914991, 2919989, 2924983, 2929991, 2934989, 2939977, 2944967, 2949953, 2954989, 2959981, 2964971, 2969987, 2974991, 2979989, 2984977, 2989963, 2994983, 2999957, 3004993, 3009991, 3014989, 3019981, 3024991, 3029981, 3034987, 3039989, 3044983, 3049993, 3054971, 3059963, 3064993, 3069967, 3074993, 3079987, 3084989, 3089993, 3094991, 3099977, 3104963, 3109979, 3114989, 3119981, 3124967, 3129991, 3134941, 3139993, 3144989, 3149983, 3154967, 3159991, 3164989, 3169981, 3174979, 3179993, 3184969, 3189983, 3194981, 3199993, 3204991, 3209971, 3214949, 3219989, 3224987, 3229987, 3234983, 3239989, 3244981, 3249991, 3254959, 3259987, 3264983, 3269993, 3274987, 3279977, 3284989, 3289987, 3294989, 3299969, 3304991, 3309991, 3314981, 3319969, 3324991, 3329993, 3334987, 3339989, 3344987, 3349939, 3354991, 3359989, 3364987, 3369991, 3374983, 3379963, 3384991, 3389989, 3394981, 3399973, 3404983, 3409981, 3414947, 3419963, 3424991, 3429989, 3434933, 3439987, 3444989, 3449989, 3454993, 3459977, 3464977, 3469969, 3474949, 3479977, 3484979, 3489973, 3494989, 3499973, 3504979, 3509983, 3514993, 3519983, 3524993, 3529979, 3534989, 3539971, 3544987, 3549983, 3554983, 3559979, 3564983, 3569977, 3574943, 3579959, 3584983, 3589991, 3594967, 3599969, 3604981, 3609973, 3614993, 3619991, 3624983, 3629987, 3634993, 3639991, 3644983, 3649993, 3654961, 3659993, 3664963, 3669961, 3674989, 3679993, 3684977, 3689993, 3694981, 3699961, 3704959, 3709949, 3714989, 3719993, 3724993, 3729991, 3734987, 3739993, 3744991, 3749971, 3754981, 3759991, 3764993, 3769993, 3774989, 3779929, 3784987, 3789971, 3794983, 3799973, 3804989, 3809987, 3814981, 3819983, 3824993, 3829993, 3834991, 3839987, 3844987, 3849977, 3854989, 3859993, 3864979, 3869993, 3874987, 3879989, 3884989, 3889993, 3894991, 3899989, 3904981, 3909979, 3914987, 3919973, 3924959, 3929977, 3934993, 3939989, 3944987, 3949969, 3954971, 3959983, 3964973, 3969983, 3974987, 3979981, 3984983, 3989989, 3994993, 3999971, 4004989, 4009991, 4014977, 4019993, 4024981, 4029979, 4034977, 4039991, 4044983, 4049989, 4054987, 4059953, 4064971, 4069991, 4074991, 4079989, 4084991, 4089973, 4094953, 4099981, 4104977, 4109969, 4114951, 4119991, 4124993, 4129987, 4134971, 4139983, 4144981, 4149991, 4154959, 4159979, 4164989, 4169953, 4174993, 4179979, 4184989, 4189987, 4194989, 4199989, 4204973, 4209991, 4214981, 4219991, 4224991, 4229993, 4234991, 4239979, 4244987, 4249981, 4254983, 4259951, 4264991, 4269983, 4274989, 4279991, 4284989, 4289977, 4294991, 4299961, 4304981, 4309957, 4314953, 4319993, 4324979, 4329979, 4334989, 4339963, 4344961, 4349987, 4354969, 4359991, 4364989, 4369991, 4374977, 4379987, 4384993, 4389989, 4394983, 4399987, 4404977, 4409981, 4414961, 4419991, 4424977, 4429991, 4434979, 4439993, 4444991, 4449983, 4454993, 4459993, 4464983, 4469989, 4474969, 4479989, 4484993, 4489981, 4494991, 4499969, 4504993, 4509983, 4514987, 4519993, 4524991, 4529989, 4534973, 4539989, 4544959, 4549991, 4554983, 4559983, 4564991, 4569977, 4574987, 4579979, 4584971, 4589971, 4594991, 4599989, 4604993, 4609949, 4614991, 4619981, 4624993, 4629991, 4634977, 4639993, 4644971, 4649971, 4654963, 4659979, 4664993, 4669979, 4674991, 4679963, 4684993, 4689991, 4694993, 4699991, 4704929, 4709987, 4714987, 4719989, 4724987, 4729981, 4734991, 4739989, 4744963, 4749991, 4754993, 4759933, 4764989, 4769987, 4774993, 4779991, 4784963, 4789991, 4794983, 4799987, 4804993, 4809977, 4814987, 4819987, 4824977, 4829983, 4834993, 4839977, 4844989, 4849973, 4854989, 4859993, 4864987, 4869989, 4874983, 4879993, 4884989, 4889993, 4894987, 4899971, 4904989, 4909981, 4914991, 4919989, 4924991, 4929989, 4934977, 4939993, 4944991, 4949983, 4954987, 4959991, 4964957, 4969973, 4974953, 4979993, 4984949, 4989991, 4994993, 4999963, 5004991, 5009993, 5014979, 5019983, 5024977, 5029991, 5034973, 5039977, 5044979, 5049983, 5054989, 5059993, 5064989, 5069989, 5074991, 5079967, 5084987, 5089963, 5094979, 5099993, 5104993, 5109989, 5114983, 5119973, 5124991, 5129987, 5134993, 5139983, 5144989, 5149987, 5154983, 5159977, 5164993, 5169971, 5174989, 5179969, 5184961, 5189993, 5194993, 5199983, 5204981, 5209957, 5214991, 5219959, 5224991, 5229989, 5234989, 5239987, 5244947, 5249989, 5254943, 5259983, 5264977, 5269993, 5274967, 5279993, 5284991, 5289979, 5294981, 5299979, 5304989, 5309977, 5314993, 5319989, 5324989, 5329981, 5334943, 5339993, 5344973, 5349991, 5354989, 5359987, 5364991, 5369981, 5374987, 5379971, 5384993, 5389963, 5394979, 5399993, 5404981, 5409977, 5414963, 5419987, 5424983, 5429993, 5434993, 5439991, 5444969, 5449987, 5454973, 5459983, 5464981, 5469983, 5474981, 5479987, 5484979, 5489989, 5494991, 5499979, 5504987, 5509979, 5514991, 5519989, 5524973, 5529971, 5534993, 5539981, 5544989, 5549993, 5554993, 5559979, 5564981, 5569981, 5574979, 5579993, 5584939, 5589977, 5594959, 5599981, 5604979, 5609993, 5614993, 5619983, 5624989, 5629993, 5634983, 5639989, 5644993, 5649977, 5654953, 5659993, 5664991, 5669977, 5674993, 5679983, 5684983, 5689991, 5694989, 5699989, 5704991, 5709953, 5714987, 5719963, 5724991, 5729987, 5734973, 5739983, 5744983, 5749993, 5754989, 5759981, 5764963, 5769949, 5774987, 5779993, 5784991, 5789981, 5794993, 5799991, 5804989, 5809949, 5814983, 5819987, 5824979, 5829973, 5834987, 5839979, 5844983, 5849993, 5854993, 5859991, 5864993, 5869987, 5874977, 5879983, 5884993, 5889991, 5894983, 5899991, 5904979, 5909993, 5914991, 5919971, 5924987, 5929967, 5934991, 5939993, 5944993, 5949971, 5954989, 5959973, 5964983, 5969993, 5974961, 5979991, 5984987, 5989993, 5994971, 5999993, 6004991, 6009979, 6014971, 6019991, 6024983, 6029987, 6034979, 6039977, 6044993, 6049993, 6054967, 6059981, 6064991, 6069989, 6074989, 6079993, 6084977, 6089983, 6094981, 6099983, 6104957, 6109993, 6114989, 6119977, 6124991, 6129973, 6134983, 6139993, 6144991, 6149987, 6154991, 6159991, 6164981, 6169993, 6174991, 6179989, 6184967, 6189983, 6194989, 6199987, 6204977, 6209989, 6214993, 6219991, 6224987, 6229957, 6234989, 6239957, 6244969, 6249989, 6254993, 6259973, 6264983, 6269987, 6274993, 6279991, 6284963, 6289991, 6294991, 6299987, 6304993, 6309973, 6314993, 6319993, 6324971, 6329993, 6334987, 6339989, 6344983, 6349969, 6354989, 6359987, 6364961, 6369991, 6374987, 6379963, 6384991, 6389993, 6394981, 6399971, 6404987, 6409943, 6414973, 6419989, 6424993, 6429977, 6434983, 6439969, 6444979, 6449923, 6454991, 6459991, 6464989, 6469993, 6474973, 6479989, 6484987, 6489991, 6494989, 6499991, 6504983, 6509977, 6514993, 6519991, 6524993, 6529987, 6534943, 6539989, 6544943, 6549979, 6554983, 6559981, 6564983, 6569993, 6574979, 6579977, 6584987, 6589993, 6594943, 6599987, 6604987, 6609989, 6614963, 6619981, 6624973, 6629969, 6634967, 6639989, 6644983, 6649919, 6654979, 6659977, 6664979, 6669983, 6674971, 6679993, 6684991, 6689989, 6694993, 6699977, 6704969, 6709979, 6714991, 6719989, 6724987, 6729991, 6734993, 6739987, 6744979, 6749989, 6754991, 6759989, 6764993, 6769991, 6774991, 6779987, 6784961, 6789983, 6794993, 6799993, 6804953, 6809989, 6814991, 6819977, 6824981, 6829981, 6834991, 6839983, 6844987, 6849991, 6854993, 6859991, 6864983, 6869987, 6874993, 6879973, 6884993, 6889969, 6894991, 6899989, 6904993, 6909983, 6914989, 6919993, 6924991, 6929987, 6934957, 6939967, 6944989, 6949993, 6954977, 6959989, 6964973, 6969973, 6974983, 6979967, 6984983, 6989987, 6994987, 6999989, 7004941, 7009991, 7014991, 7019993, 7024987, 7029961, 7034977, 7039973, 7044979, 7049993, 7054987, 7059953, 7064977, 7069987, 7074971, 7079981, 7084993, 7089991, 7094993, 7099991, 7104991, 7109983, 7114973, 7119979, 7124993, 7129877, 7134989, 7139971, 7144979, 7149983, 7154993, 7159987, 7164953, 7169993, 7174991, 7179983, 7184981, 7189993, 7194989, 7199957, 7204987, 7209947, 7214989, 7219973, 7224947, 7229969, 7234987, 7239979, 7244959, 7249981, 7254983, 7259977, 7264991, 7269991, 7274957, 7279981, 7284973, 7289993, 7294949, 7299961, 7304993, 7309987, 7314973, 7319987, 7324969, 7329989, 7334989, 7339991, 7344991, 7349989, 7354981, 7359967, 7364993, 7369991, 7374989, 7379951, 7384943, 7389989, 7394987, 7399993, 7404983, 7409989, 7414991, 7419991, 7424993, 7429993, 7434989, 7439977, 7444993, 7449979, 7454983, 7459967, 7464979, 7469993, 7474979, 7479971, 7484963, 7489987, 7494959, 7499981, 7504993, 7509949, 7514993, 7519987, 7524983, 7529987, 7534991, 7539989, 7544993, 7549991, 7554977, 7559989, 7564981, 7569979, 7574993, 7579973, 7584991, 7589993, 7594973, 7599989, 7604983, 7609963, 7614983, 7619921, 7624973, 7629989, 7634993, 7639993, 7644991, 7649977, 7654973, 7659991, 7664983, 7669979, 7674977, 7679993, 7684979, 7689973, 7694993, 7699981, 7704959, 7709957, 7714963, 7719979, 7724957, 7729993, 7734973, 7739969, 7744993, 7749961, 7754987, 7759991, 7764979, 7769947, 7774993, 7779991, 7784993, 7789987, 7794977, 7799971, 7804987, 7809983, 7814981, 7819993, 7824977, 7829963, 7834993, 7839961, 7844987, 7849991, 7854991, 7859989, 7864991, 7869941, 7874983, 7879979, 7884983, 7889977, 7894993, 7899989, 7904993, 7909987, 7914961, 7919993, 7924991, 7929983, 7934987, 7939979, 7944991, 7949933, 7954993, 7959983, 7964987, 7969993, 7974991, 7979969, 7984957, 7989973, 7994977, 7999993, 8004979, 8009987, 8014987, 8019989, 8024987, 8029993, 8034991, 8039987, 8044991, 8049989, 8054951, 8059981, 8064977, 8069983, 8074993, 8079989, 8084977, 8089967, 8094967, 8099983, 8104991, 8109973, 8114971, 8119987, 8124983, 8129963, 8134991, 8139983, 8144963, 8149991, 8154983, 8159993, 8164993, 8169989, 8174987, 8179993, 8184977, 8189981, 8194987, 8199979, 8204957, 8209991, 8214953, 8219983, 8224981, 8229959, 8234977, 8239969, 8244989, 8249993, 8254963, 8259973, 8264959, 8269993, 8274983, 8279987, 8284987, 8289949, 8294971, 8299981, 8304979, 8309989, 8314993, 8319977, 8324923, 8329987, 8334959, 8339987, 8344993, 8349983, 8354993, 8359993, 8364977, 8369989, 8374979, 8379961, 8384993, 8389973, 8394983, 8399987, 8404993, 8409941, 8414957, 8419993, 8424973, 8429963, 8434991, 8439989, 8444983, 8449979, 8454959, 8459987, 8464993, 8469977, 8474981, 8479981, 8484961, 8489969, 8494987, 8499979, 8504987, 8509987, 8514949, 8519989, 8524993, 8529959, 8534993, 8539961, 8544973, 8549969, 8554993, 8559989, 8564987, 8569991, 8574991, 8579981, 8584987, 8589991, 8594951, 8599993, 8604991, 8609987, 8614987, 8619943, 8624981, 8629981, 8634971, 8639987, 8644991, 8649973, 8654981, 8659957, 8664991, 8669993, 8674961, 8679991, 8684983, 8689987, 8694991, 8699993, 8704981, 8709991, 8714989, 8719987, 8724983, 8729983, 8734993, 8739967, 8744969, 8749991, 8754979, 8759977, 8764963, 8769983, 8774993, 8779993, 8784983, 8789983, 8794963, 8799977, 8804993, 8809993, 8814983, 8819977, 8824979, 8829991, 8834989, 8839967, 8844991, 8849987, 8854991, 8859989, 8864993, 8869957, 8874989, 8879993, 8884979, 8889977, 8894993, 8899987, 8904989, 8909983, 8914993, 8919983, 8924987, 8929969, 8934983, 8939993, 8944973, 8949991, 8954987, 8959991, 8964961, 8969993, 8974993, 8979973, 8984981, 8989973, 8994943, 8999993, 9004991, 9009991, 9014983, 9019987, 9024989, 9029971, 9034969, 9039983, 9044993, 9049987, 9054979, 9059989, 9064987, 9069989, 9074993, 9079979, 9084991, 9089989, 9094993, 9099989, 9104989, 9109993, 9114991, 9119989, 9124993, 9129979, 9134969, 9139987, 9144917, 9149981, 9154991, 9159977, 9164959, 9169967, 9174983, 9179981, 9184993, 9189989, 9194971, 9199991, 9204989, 9209983, 9214987, 9219979, 9224993, 9229973, 9234991, 9239987, 9244993, 9249983, 9254989, 9259963, 9264991, 9269971, 9274987, 9279983, 9284987, 9289991, 9294973, 9299977, 9304993, 9309991, 9314983, 9319979, 9324989, 9329993, 9334979, 9339977, 9344977, 9349993, 9354991, 9359983, 9364991, 9369989, 9374987, 9379991, 9384983, 9389987, 9394993, 9399989, 9404987, 9409973, 9414989, 9419987, 9424993, 9429967, 9434993, 9439987, 9444983, 9449989, 9454993, 9459959, 9464953, 9469991, 9474989, 9479983, 9484973, 9489979, 9494981, 9499967, 9504991, 9509993, 9514979, 9519973, 9524993, 9529967, 9534991, 9539993, 9544981, 9549983, 9554989, 9559993, 9564979, 9569969, 9574949, 9579967, 9584969, 9589991, 9594989, 9599977, 9604993, 9609959, 9614993, 9619993, 9624961, 9629993, 9634991, 9639979, 9644983, 9649987, 9654989, 9659989, 9664973, 9669953, 9674953, 9679981, 9684973, 9689993, 9694991, 9699973, 9704957, 9709993, 9714983, 9719989, 9724993, 9729991, 9734971, 9739979, 9744979, 9749989, 9754993, 9759991, 9764981, 9769993, 9774991, 9779993, 9784991, 9789991, 9794989, 9799987, 9804983, 9809971, 9814993, 9819967, 9824989, 9829987, 9834983, 9839993, 9844993, 9849989, 9854989, 9859981, 9864989, 9869969, 9874961, 9879983, 9884983, 9889987, 9894979, 9899993, 9904987, 9909989, 9914987, 9919979, 9924979, 9929993, 9934963, 9939971, 9944953, 9949967, 9954991, 9959987, 9964979, 9969959, 9974983, 9979993, 9984991, 9989957, 9994951 }; int main(void) { int N, C, P1, P2, P3, P4; char buf[50]; for (;;) { if (fgets(buf, 50, stdin) == NULL) break; N = atoi(buf); if (N < 8) { puts("Impossible."); continue; } if (N == 8) { puts("2 2 2 2"); continue; } if (N == 9) { puts("2 3 2 2"); continue; } if (N == 10) { puts("3 3 2 2"); continue; } P1 = prime_tbl[(N-1)/STEP]; if (N & 1) P2 = 2; else P2 = 3; C = N - P1 - P2; for (P3 = 3; ; P3 += 2) { if (is_prime(P3) && is_prime(C-P3)) { P4 = C - P3; break; } } printf("%d %d %d %d\n", P2, P1, P3, P4); } return 0; } int is_prime(int p) { int i; int b; #if 0 if (p <= 1) return 0; if (p == 2) return 1; /* for 2 */ if ((p & 1) == 0) return 0; /* for other even number */ #endif b = sqrt(p); for (i = 3; i <= b; i += 2) { /* for odd number */ if (p % i == 0) return 0; } return 1; }