1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | import Data.Array import Data.Array.IO --start of prime loopB :: Int -> Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) loopB st a b arr | st > b = return arr | otherwise = do writeArray arr st 0 loopB ( st + a ) a b arr loopA :: Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) loopA a b arr | a ^ 2 > b = return arr | otherwise = do t <- readArray arr a arr' <- if t /= 0 then loopB ( a ^ 2 ) a b arr else return arr loopA ( a + 1 ) b arr' printerA :: Int -> Int -> IOArray Int Int -> IO ( ) printerA a b arr | a > b = return () | otherwise = do t <- readArray arr a print ( a , if t == 0 then "composite" else "prime" ) printerA ( a + 1 ) b arr --end of prime generation --start of euler phi function helpEuler :: Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) helpEuler a b phi | a > b = return phi | otherwise = do writeArray phi a a helpEuler ( a + 1 ) b phi loopInner :: Int -> Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) loopInner st a b phi | st > b = return phi | otherwise = do t <- readArray phi st let k = div ( t * ( a - 1 ) ) a writeArray phi st k loopInner ( st + a ) a b phi loopOuter :: Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) loopOuter a b phi | a > b = return phi | otherwise = do t <- readArray phi a phi' <- if t == a then loopInner ( 2 * a ) a b phi else return phi loopOuter ( a + 1 ) b phi' modifyValue :: Int -> Int -> IOArray Int Int -> IO ( IOArray Int Int ) modifyValue a b phi | a > b = return phi | otherwise = do t <- readArray phi a if t == a then writeArray phi a ( a - 1 ) else writeArray phi a t modifyValue ( succ a ) b phi printerB :: Int -> Int -> IOArray Int Int -> IO ( ) printerB a b phi | a > b = return () | otherwise = do t <- readArray phi a print ( a , t ) printerB ( a + 1 ) b phi --end of euler phi function main = do arr <- newArray ( 2 , 1000 ) 1 :: IO ( IOArray Int Int ) arr' <- loopA 2 1000 arr printerA 2 1000 arr' phi <- newArray ( 1 , 100 ) 1 :: IO ( IOArray Int Int ) tmp <- helpEuler 2 100 phi phi' <- loopOuter 2 100 tmp phi'' <- modifyValue 2 100 phi' printerB 1 100 phi'' {-- a <- readArray arr 1 writeArray arr 1 64 b <- readArray arr 1 print ( a , b ) --} |
aW1wb3J0IERhdGEuQXJyYXkKaW1wb3J0IERhdGEuQXJyYXkuSU8KCgotLXN0YXJ0IG9mIHByaW1lCgpsb29wQiA6OiBJbnQgLT4gSW50IC0+IEludCAtPiAgSU9BcnJheSBJbnQgSW50IC0+IElPICggSU9BcnJheSBJbnQgSW50ICkKbG9vcEIgc3QgYSBiIGFycgogICAgICAgIHwgc3QgPiBiID0gcmV0dXJuIGFycgoJfCBvdGhlcndpc2UgPSAKCSAgICBkbwoJCXdyaXRlQXJyYXkgYXJyIHN0IDAgCgkJbG9vcEIgKCBzdCArIGEgKSBhIGIgYXJyIAoKCmxvb3BBIDo6IEludCAtPiBJbnQgLT4gIElPQXJyYXkgSW50IEludCAtPiBJTyAoIElPQXJyYXkgSW50IEludCApIApsb29wQSBhIGIgYXJyIAoJfCBhIF4gMiA+IGIgPSByZXR1cm4gYXJyCgl8IG90aGVyd2lzZSA9IAoJICAgZG8KCQl0IDwtIHJlYWRBcnJheSBhcnIgYSAKCQlhcnInIDwtIGlmIHQgLz0gMCB0aGVuIGxvb3BCICggYSBeIDIgKSBhICBiIGFyciBlbHNlIHJldHVybiBhcnIgCgkJbG9vcEEgKCBhICsgMSApIGIgYXJyJyAKCnByaW50ZXJBIDo6IEludCAtPiBJbnQgLT4gSU9BcnJheSBJbnQgSW50IC0+IElPICggKQpwcmludGVyQSBhIGIgYXJyIAoJfCBhID4gYiA9IHJldHVybiAoKQoJfCBvdGhlcndpc2UgPSBkbyAKCQl0IDwtIHJlYWRBcnJheSBhcnIgYSAKCQlwcmludCAoIGEgLCBpZiB0ID09IDAgdGhlbiAiY29tcG9zaXRlIiBlbHNlICJwcmltZSIgKSAKCQlwcmludGVyQSAoIGEgKyAxICkgYiBhcnIgCgotLWVuZCBvZiBwcmltZSBnZW5lcmF0aW9uCi0tc3RhcnQgb2YgZXVsZXIgcGhpIGZ1bmN0aW9uCgpoZWxwRXVsZXIgOjogSW50IC0+IEludCAtPiBJT0FycmF5IEludCBJbnQgLT4gSU8gKCBJT0FycmF5IEludCBJbnQgKSAKaGVscEV1bGVyIGEgYiBwaGkgCgl8IGEgPiBiID0gcmV0dXJuIHBoaQoJfCBvdGhlcndpc2UgPSAKCSAgIGRvIAoJCXdyaXRlQXJyYXkgcGhpIGEgYSAKCQloZWxwRXVsZXIgKCBhICsgMSApIGIgcGhpCgpsb29wSW5uZXIgOjogSW50IC0+IEludCAtPiBJbnQgLT4gSU9BcnJheSBJbnQgSW50IC0+IElPICggSU9BcnJheSBJbnQgSW50ICkgCmxvb3BJbm5lciBzdCBhIGIgcGhpIAoJfCBzdCA+IGIgPSByZXR1cm4gcGhpCgl8IG90aGVyd2lzZSA9IAoJICAgZG8gCgkJdCA8LSByZWFkQXJyYXkgcGhpIHN0IAoJCWxldCBrID0gZGl2ICggdCAqICggYSAtIDEgKSApIGEgCgkJd3JpdGVBcnJheSBwaGkgc3QgayAKCQlsb29wSW5uZXIgKCBzdCArIGEgKSBhIGIgcGhpCgpsb29wT3V0ZXIgOjogSW50IC0+IEludCAtPiBJT0FycmF5IEludCBJbnQgLT4gSU8gKCBJT0FycmF5IEludCBJbnQgKSAKbG9vcE91dGVyIGEgYiBwaGkKCXwgYSA+IGIgPSByZXR1cm4gcGhpCgl8IG90aGVyd2lzZSA9IAoJICAgZG8gCgkgICAgIHQgPC0gcmVhZEFycmF5IHBoaSBhIAoJICAgICBwaGknIDwtIGlmIHQgPT0gYSB0aGVuIGxvb3BJbm5lciAoICAyICogYSApIGEgYiBwaGkgZWxzZSByZXR1cm4gcGhpCgkgICAgIGxvb3BPdXRlciAoIGEgKyAxICkgYiBwaGknIAogCm1vZGlmeVZhbHVlIDo6IEludCAtPiBJbnQgLT4gSU9BcnJheSBJbnQgSW50IC0+IElPICggSU9BcnJheSBJbnQgSW50ICkgCm1vZGlmeVZhbHVlIGEgYiBwaGkgCgl8IGEgPiBiID0gcmV0dXJuIHBoaQoJfCBvdGhlcndpc2UgPSAKCSAgIGRvIAoJICAgICAgdCA8LSByZWFkQXJyYXkgcGhpIGEgCgkgICAgICBpZiB0ID09IGEgdGhlbiB3cml0ZUFycmF5IHBoaSBhICggYSAtIDEgKSBlbHNlIHdyaXRlQXJyYXkgcGhpIGEgdCAKCSAgICAgIG1vZGlmeVZhbHVlICggc3VjYyBhICkgYiBwaGkgCgoKcHJpbnRlckIgOjogSW50IC0+IEludCAtPiBJT0FycmF5IEludCBJbnQgLT4gSU8gKCAgKQpwcmludGVyQiBhIGIgcGhpCiAgICAgICB8IGEgPiBiID0gcmV0dXJuICgpCiAgICAgICB8IG90aGVyd2lzZSA9IAoJICAgZG8gCgkJdCA8LSByZWFkQXJyYXkgcGhpIGEgCgkJcHJpbnQgKCBhICwgdCApIAoJCXByaW50ZXJCICggYSArIDEgKSBiIHBoaQoKLS1lbmQgb2YgZXVsZXIgcGhpIGZ1bmN0aW9uCgoKbWFpbiA9IGRvCgkgCglhcnIgPC0gbmV3QXJyYXkgKCAyICwgMTAwMCApIDEgOjogSU8gKCBJT0FycmF5IEludCBJbnQgKSAKCWFycicgPC0gbG9vcEEgIDIgMTAwMCBhcnIKCXByaW50ZXJBIDIgMTAwMCBhcnInCgkKCQoJcGhpIDwtIG5ld0FycmF5ICggMSAsIDEwMCApIDEgOjogSU8gKCBJT0FycmF5IEludCBJbnQgKSAKCXRtcCA8LSBoZWxwRXVsZXIgIDIgMTAwIHBoaQoJcGhpJyA8LSBsb29wT3V0ZXIgMiAxMDAgdG1wCQoJcGhpJycgPC0gbW9kaWZ5VmFsdWUgMiAxMDAgcGhpJwoJcHJpbnRlckIgMSAxMDAgcGhpJycKCQoJey0tCglhIDwtIHJlYWRBcnJheSBhcnIgMQoJd3JpdGVBcnJheSBhcnIgMSA2NCAKCWIgPC0gcmVhZEFycmF5IGFyciAxCglwcmludCAoIGEgLCBiICkgCgktLX0=
[1 of 1] Compiling Main ( prog.hs, prog.o ) Linking prog ...
-
upload with new input
-
result: Success time: 0s memory: 3628 kB returned value: 0
(2,"prime") (3,"prime") (4,"composite") (5,"prime") (6,"composite") (7,"prime") (8,"composite") (9,"composite") (10,"composite") (11,"prime") (12,"composite") (13,"prime") (14,"composite") (15,"composite") (16,"composite") (17,"prime") (18,"composite") (19,"prime") (20,"composite") (21,"composite") (22,"composite") (23,"prime") (24,"composite") (25,"composite") (26,"composite") (27,"composite") (28,"composite") (29,"prime") (30,"composite") (31,"prime") (32,"composite") (33,"composite") (34,"composite") (35,"composite") (36,"composite") (37,"prime") (38,"composite") (39,"composite") (40,"composite") (41,"prime") (42,"composite") (43,"prime") (44,"composite") (45,"composite") (46,"composite") (47,"prime") (48,"composite") (49,"composite") (50,"composite") (51,"composite") (52,"composite") (53,"prime") (54,"composite") (55,"composite") (56,"composite") (57,"composite") (58,"composite") (59,"prime") (60,"composite") (61,"prime") (62,"composite") (63,"composite") (64,"composite") (65,"composite") (66,"composite") (67,"prime") (68,"composite") (69,"composite") (70,"composite") (71,"prime") (72,"composite") (73,"prime") (74,"composite") (75,"composite") (76,"composite") (77,"composite") (78,"composite") (79,"prime") (80,"composite") (81,"composite") (82,"composite") (83,"prime") (84,"composite") (85,"composite") (86,"composite") (87,"composite") (88,"composite") (89,"prime") (90,"composite") (91,"composite") (92,"composite") (93,"composite") (94,"composite") (95,"composite") (96,"composite") (97,"prime") (98,"composite") (99,"composite") (100,"composite") (101,"prime") (102,"composite") (103,"prime") (104,"composite") (105,"composite") (106,"composite") (107,"prime") (108,"composite") (109,"prime") (110,"composite") (111,"composite") (112,"composite") (113,"prime") (114,"composite") (115,"composite") (116,"composite") (117,"composite") (118,"composite") (119,"composite") (120,"composite") (121,"composite") (122,"composite") (123,"composite") (124,"composite") (125,"composite") (126,"composite") (127,"prime") (128,"composite") (129,"composite") (130,"composite") (131,"prime") (132,"composite") (133,"composite") (134,"composite") (135,"composite") (136,"composite") (137,"prime") (138,"composite") (139,"prime") (140,"composite") (141,"composite") (142,"composite") (143,"composite") (144,"composite") (145,"composite") (146,"composite") (147,"composite") (148,"composite") (149,"prime") (150,"composite") (151,"prime") (152,"composite") (153,"composite") (154,"composite") (155,"composite") (156,"composite") (157,"prime") (158,"composite") (159,"composite") (160,"composite") (161,"composite") (162,"composite") (163,"prime") (164,"composite") (165,"composite") (166,"composite") (167,"prime") (168,"composite") (169,"composite") (170,"composite") (171,"composite") (172,"composite") (173,"prime") (174,"composite") (175,"composite") (176,"composite") (177,"composite") (178,"composite") (179,"prime") (180,"composite") (181,"prime") (182,"composite") (183,"composite") (184,"composite") (185,"composite") (186,"composite") (187,"composite") (188,"composite") (189,"composite") (190,"composite") (191,"prime") (192,"composite") (193,"prime") (194,"composite") (195,"composite") (196,"composite") (197,"prime") (198,"composite") (199,"prime") (200,"composite") (201,"composite") (202,"composite") (203,"composite") (204,"composite") (205,"composite") (206,"composite") (207,"composite") (208,"composite") (209,"composite") (210,"composite") (211,"prime") (212,"composite") (213,"composite") (214,"composite") (215,"composite") (216,"composite") (217,"composite") (218,"composite") (219,"composite") (220,"composite") (221,"composite") (222,"composite") (223,"prime") (224,"composite") (225,"composite") (226,"composite") (227,"prime") (228,"composite") (229,"prime") (230,"composite") (231,"composite") (232,"composite") (233,"prime") (234,"composite") (235,"composite") (236,"composite") (237,"composite") (238,"composite") (239,"prime") (240,"composite") (241,"prime") (242,"composite") (243,"composite") (244,"composite") (245,"composite") (246,"composite") (247,"composite") (248,"composite") (249,"composite") (250,"composite") (251,"prime") (252,"composite") (253,"composite") (254,"composite") (255,"composite") (256,"composite") (257,"prime") (258,"composite") (259,"composite") (260,"composite") (261,"composite") (262,"composite") (263,"prime") (264,"composite") (265,"composite") (266,"composite") (267,"composite") (268,"composite") (269,"prime") (270,"composite") (271,"prime") (272,"composite") (273,"composite") (274,"composite") (275,"composite") (276,"composite") (277,"prime") (278,"composite") (279,"composite") (280,"composite") (281,"prime") (282,"composite") (283,"prime") (284,"composite") (285,"composite") (286,"composite") (287,"composite") (288,"composite") (289,"composite") (290,"composite") (291,"composite") (292,"composite") (293,"prime") (294,"composite") (295,"composite") (296,"composite") (297,"composite") (298,"composite") (299,"composite") (300,"composite") (301,"composite") (302,"composite") (303,"composite") (304,"composite") (305,"composite") (306,"composite") (307,"prime") (308,"composite") (309,"composite") (310,"composite") (311,"prime") (312,"composite") (313,"prime") (314,"composite") (315,"composite") (316,"composite") (317,"prime") (318,"composite") (319,"composite") (320,"composite") (321,"composite") (322,"composite") (323,"composite") (324,"composite") (325,"composite") (326,"composite") (327,"composite") (328,"composite") (329,"composite") (330,"composite") (331,"prime") (332,"composite") (333,"composite") (334,"composite") (335,"composite") (336,"composite") (337,"prime") (338,"composite") (339,"composite") (340,"composite") (341,"composite") (342,"composite") (343,"composite") (344,"composite") (345,"composite") (346,"composite") (347,"prime") (348,"composite") (349,"prime") (350,"composite") (351,"composite") (352,"composite") (353,"prime") (354,"composite") (355,"composite") (356,"composite") (357,"composite") (358,"composite") (359,"prime") (360,"composite") (361,"composite") (362,"composite") (363,"composite") (364,"composite") (365,"composite") (366,"composite") (367,"prime") (368,"composite") (369,"composite") (370,"composite") (371,"composite") (372,"composite") (373,"prime") (374,"composite") (375,"composite") (376,"composite") (377,"composite") (378,"composite") (379,"prime") (380,"composite") (381,"composite") (382,"composite") (383,"prime") (384,"composite") (385,"composite") (386,"composite") (387,"composite") (388,"composite") (389,"prime") (390,"composite") (391,"composite") (392,"composite") (393,"composite") (394,"composite") (395,"composite") (396,"composite") (397,"prime") (398,"composite") (399,"composite") (400,"composite") (401,"prime") (402,"composite") (403,"composite") (404,"composite") (405,"composite") (406,"composite") (407,"composite") (408,"composite") (409,"prime") (410,"composite") (411,"composite") (412,"composite") (413,"composite") (414,"composite") (415,"composite") (416,"composite") (417,"composite") (418,"composite") (419,"prime") (420,"composite") (421,"prime") (422,"composite") (423,"composite") (424,"composite") (425,"composite") (426,"composite") (427,"composite") (428,"composite") (429,"composite") (430,"composite") (431,"prime") (432,"composite") (433,"prime") (434,"composite") (435,"composite") (436,"composite") (437,"composite") (438,"composite") (439,"prime") (440,"composite") (441,"composite") (442,"composite") (443,"prime") (444,"composite") (445,"composite") (446,"composite") (447,"composite") (448,"composite") (449,"prime") (450,"composite") (451,"composite") (452,"composite") (453,"composite") (454,"composite") (455,"composite") (456,"composite") (457,"prime") (458,"composite") (459,"composite") (460,"composite") (461,"prime") (462,"composite") (463,"prime") (464,"composite") (465,"composite") (466,"composite") (467,"prime") (468,"composite") (469,"composite") (470,"composite") (471,"composite") (472,"composite") (473,"composite") (474,"composite") (475,"composite") (476,"composite") (477,"composite") (478,"composite") (479,"prime") (480,"composite") (481,"composite") (482,"composite") (483,"composite") (484,"composite") (485,"composite") (486,"composite") (487,"prime") (488,"composite") (489,"composite") (490,"composite") (491,"prime") (492,"composite") (493,"composite") (494,"composite") (495,"composite") (496,"composite") (497,"composite") (498,"composite") (499,"prime") (500,"composite") (501,"composite") (502,"composite") (503,"prime") (504,"composite") (505,"composite") (506,"composite") (507,"composite") (508,"composite") (509,"prime") (510,"composite") (511,"composite") (512,"composite") (513,"composite") (514,"composite") (515,"composite") (516,"composite") (517,"composite") (518,"composite") (519,"composite") (520,"composite") (521,"prime") (522,"composite") (523,"prime") (524,"composite") (525,"composite") (526,"composite") (527,"composite") (528,"composite") (529,"composite") (530,"composite") (531,"composite") (532,"composite") (533,"composite") (534,"composite") (535,"composite") (536,"composite") (537,"composite") (538,"composite") (539,"composite") (540,"composite") (541,"prime") (542,"composite") (543,"composite") (544,"composite") (545,"composite") (546,"composite") (547,"prime") (548,"composite") (549,"composite") (550,"composite") (551,"composite") (552,"composite") (553,"composite") (554,"composite") (555,"composite") (556,"composite") (557,"prime") (558,"composite") (559,"composite") (560,"composite") (561,"composite") (562,"composite") (563,"prime") (564,"composite") (565,"composite") (566,"composite") (567,"composite") (568,"composite") (569,"prime") (570,"composite") (571,"prime") (572,"composite") (573,"composite") (574,"composite") (575,"composite") (576,"composite") (577,"prime") (578,"composite") (579,"composite") (580,"composite") (581,"composite") (582,"composite") (583,"composite") (584,"composite") (585,"composite") (586,"composite") (587,"prime") (588,"composite") (589,"composite") (590,"composite") (591,"composite") (592,"composite") (593,"prime") (594,"composite") (595,"composite") (596,"composite") (597,"composite") (598,"composite") (599,"prime") (600,"composite") (601,"prime") (602,"composite") (603,"composite") (604,"composite") (605,"composite") (606,"composite") (607,"prime") (608,"composite") (609,"composite") (610,"composite") (611,"composite") (612,"composite") (613,"prime") (614,"composite") (615,"composite") (616,"composite") (617,"prime") (618,"composite") (619,"prime") (620,"composite") (621,"composite") (622,"composite") (623,"composite") (624,"composite") (625,"composite") (626,"composite") (627,"composite") (628,"composite") (629,"composite") (630,"composite") (631,"prime") (632,"composite") (633,"composite") (634,"composite") (635,"composite") (636,"composite") (637,"composite") (638,"composite") (639,"composite") (640,"composite") (641,"prime") (642,"composite") (643,"prime") (644,"composite") (645,"composite") (646,"composite") (647,"prime") (648,"composite") (649,"composite") (650,"composite") (651,"composite") (652,"composite") (653,"prime") (654,"composite") (655,"composite") (656,"composite") (657,"composite") (658,"composite") (659,"prime") (660,"composite") (661,"prime") (662,"composite") (663,"composite") (664,"composite") (665,"composite") (666,"composite") (667,"composite") (668,"composite") (669,"composite") (670,"composite") (671,"composite") (672,"composite") (673,"prime") (674,"composite") (675,"composite") (676,"composite") (677,"prime") (678,"composite") (679,"composite") (680,"composite") (681,"composite") (682,"composite") (683,"prime") (684,"composite") (685,"composite") (686,"composite") (687,"composite") (688,"composite") (689,"composite") (690,"composite") (691,"prime") (692,"composite") (693,"composite") (694,"composite") (695,"composite") (696,"composite") (697,"composite") (698,"composite") (699,"composite") (700,"composite") (701,"prime") (702,"composite") (703,"composite") (704,"composite") (705,"composite") (706,"composite") (707,"composite") (708,"composite") (709,"prime") (710,"composite") (711,"composite") (712,"composite") (713,"composite") (714,"composite") (715,"composite") (716,"composite") (717,"composite") (718,"composite") (719,"prime") (720,"composite") (721,"composite") (722,"composite") (723,"composite") (724,"composite") (725,"composite") (726,"composite") (727,"prime") (728,"composite") (729,"composite") (730,"composite") (731,"composite") (732,"composite") (733,"prime") (734,"composite") (735,"composite") (736,"composite") (737,"composite") (738,"composite") (739,"prime") (740,"composite") (741,"composite") (742,"composite") (743,"prime") (744,"composite") (745,"composite") (746,"composite") (747,"composite") (748,"composite") (749,"composite") (750,"composite") (751,"prime") (752,"composite") (753,"composite") (754,"composite") (755,"composite") (756,"composite") (757,"prime") (758,"composite") (759,"composite") (760,"composite") (761,"prime") (762,"composite") (763,"composite") (764,"composite") (765,"composite") (766,"composite") (767,"composite") (768,"composite") (769,"prime") (770,"composite") (771,"composite") (772,"composite") (773,"prime") (774,"composite") (775,"composite") (776,"composite") (777,"composite") (778,"composite") (779,"composite") (780,"composite") (781,"composite") (782,"composite") (783,"composite") (784,"composite") (785,"composite") (786,"composite") (787,"prime") (788,"composite") (789,"composite") (790,"composite") (791,"composite") (792,"composite") (793,"composite") (794,"composite") (795,"composite") (796,"composite") (797,"prime") (798,"composite") (799,"composite") (800,"composite") (801,"composite") (802,"composite") (803,"composite") (804,"composite") (805,"composite") (806,"composite") (807,"composite") (808,"composite") (809,"prime") (810,"composite") (811,"prime") (812,"composite") (813,"composite") (814,"composite") (815,"composite") (816,"composite") (817,"composite") (818,"composite") (819,"composite") (820,"composite") (821,"prime") (822,"composite") (823,"prime") (824,"composite") (825,"composite") (826,"composite") (827,"prime") (828,"composite") (829,"prime") (830,"composite") (831,"composite") (832,"composite") (833,"composite") (834,"composite") (835,"composite") (836,"composite") (837,"composite") (838,"composite") (839,"prime") (840,"composite") (841,"composite") (842,"composite") (843,"composite") (844,"composite") (845,"composite") (846,"composite") (847,"composite") (848,"composite") (849,"composite") (850,"composite") (851,"composite") (852,"composite") (853,"prime") (854,"composite") (855,"composite") (856,"composite") (857,"prime") (858,"composite") (859,"prime") (860,"composite") (861,"composite") (862,"composite") (863,"prime") (864,"composite") (865,"composite") (866,"composite") (867,"composite") (868,"composite") (869,"composite") (870,"composite") (871,"composite") (872,"composite") (873,"composite") (874,"composite") (875,"composite") (876,"composite") (877,"prime") (878,"composite") (879,"composite") (880,"composite") (881,"prime") (882,"composite") (883,"prime") (884,"composite") (885,"composite") (886,"composite") (887,"prime") (888,"composite") (889,"composite") (890,"composite") (891,"composite") (892,"composite") (893,"composite") (894,"composite") (895,"composite") (896,"composite") (897,"composite") (898,"composite") (899,"composite") (900,"composite") (901,"composite") (902,"composite") (903,"composite") (904,"composite") (905,"composite") (906,"composite") (907,"prime") (908,"composite") (909,"composite") (910,"composite") (911,"prime") (912,"composite") (913,"composite") (914,"composite") (915,"composite") (916,"composite") (917,"composite") (918,"composite") (919,"prime") (920,"composite") (921,"composite") (922,"composite") (923,"composite") (924,"composite") (925,"composite") (926,"composite") (927,"composite") (928,"composite") (929,"prime") (930,"composite") (931,"composite") (932,"composite") (933,"composite") (934,"composite") (935,"composite") (936,"composite") (937,"prime") (938,"composite") (939,"composite") (940,"composite") (941,"prime") (942,"composite") (943,"composite") (944,"composite") (945,"composite") (946,"composite") (947,"prime") (948,"composite") (949,"composite") (950,"composite") (951,"composite") (952,"composite") (953,"prime") (954,"composite") (955,"composite") (956,"composite") (957,"composite") (958,"composite") (959,"composite") (960,"composite") (961,"composite") (962,"composite") (963,"composite") (964,"composite") (965,"composite") (966,"composite") (967,"prime") (968,"composite") (969,"composite") (970,"composite") (971,"prime") (972,"composite") (973,"composite") (974,"composite") (975,"composite") (976,"composite") (977,"prime") (978,"composite") (979,"composite") (980,"composite") (981,"composite") (982,"composite") (983,"prime") (984,"composite") (985,"composite") (986,"composite") (987,"composite") (988,"composite") (989,"composite") (990,"composite") (991,"prime") (992,"composite") (993,"composite") (994,"composite") (995,"composite") (996,"composite") (997,"prime") (998,"composite") (999,"composite") (1000,"composite") (1,1) (2,1) (3,2) (4,2) (5,4) (6,2) (7,6) (8,4) (9,6) (10,4) (11,10) (12,4) (13,12) (14,6) (15,8) (16,8) (17,16) (18,6) (19,18) (20,8) (21,12) (22,10) (23,22) (24,8) (25,20) (26,12) (27,18) (28,12) (29,28) (30,8) (31,30) (32,16) (33,20) (34,16) (35,24) (36,12) (37,36) (38,18) (39,24) (40,16) (41,40) (42,12) (43,42) (44,20) (45,24) (46,22) (47,46) (48,16) (49,42) (50,20) (51,32) (52,24) (53,52) (54,18) (55,40) (56,24) (57,36) (58,28) (59,58) (60,16) (61,60) (62,30) (63,36) (64,32) (65,48) (66,20) (67,66) (68,32) (69,44) (70,24) (71,70) (72,24) (73,72) (74,36) (75,40) (76,36) (77,60) (78,24) (79,78) (80,32) (81,54) (82,40) (83,82) (84,24) (85,64) (86,42) (87,56) (88,40) (89,88) (90,24) (91,72) (92,44) (93,60) (94,46) (95,72) (96,32) (97,96) (98,42) (99,60) (100,40)



