? m=5;for(e=0,64,p=m*2^e;while(1,p=precprime(p-1);if(znprimroot(p)==Mod(2,p),break));print(m,"*2^"e,"-",m*2^e-p," ",znprimroot(p))) 5*2^0-2 Mod(2, 3) 5*2^1-5 Mod(2, 5) 5*2^2-1 Mod(2, 19) 5*2^3-3 Mod(2, 37) 5*2^4-13 Mod(2, 67) 5*2^5-11 Mod(2, 149) 5*2^6-3 Mod(2, 317) 5*2^7-21 Mod(2, 619) 5*2^8-3 Mod(2, 1277) 5*2^9-3 Mod(2, 2557) 5*2^10-13 Mod(2, 5107) 5*2^11-59 Mod(2, 10181) 5*2^12-3 Mod(2, 20477) 5*2^13-11 Mod(2, 40949) 5*2^14-19 Mod(2, 81901) 5*2^15-21 Mod(2, 163819) 5*2^16-13 Mod(2, 327667) 5*2^17-3 Mod(2, 655357) 5*2^18-27 Mod(2, 1310693) 5*2^19-53 Mod(2, 2621387) 5*2^20-3 Mod(2, 5242877) 5*2^21-29 Mod(2, 10485731) 5*2^22-27 Mod(2, 20971493) 5*2^23-53 Mod(2, 41942987) 5*2^24-27 Mod(2, 83886053) 5*2^25-53 Mod(2, 167772107) 5*2^26-19 Mod(2, 335544301) 5*2^27-3 Mod(2, 671088637) 5*2^28-51 Mod(2, 1342177229) 5*2^29-3 Mod(2, 2684354557) 5*2^30-3 Mod(2, 5368709117) 5*2^31-93 Mod(2, 10737418147) 5*2^32-189 Mod(2, 21474836291) 5*2^33-11 Mod(2, 42949672949) 5*2^34-93 Mod(2, 85899345827) 5*2^35-51 Mod(2, 171798691789) 5*2^36-3 Mod(2, 343597383677) 5*2^37-107 Mod(2, 687194767253) 5*2^38-21 Mod(2, 1374389534699) 5*2^39-29 Mod(2, 2748779069411) 5*2^40-13 Mod(2, 5497558138867) 5*2^41-29 Mod(2, 10995116277731) 5*2^42-69 Mod(2, 21990232555451) 5*2^43-27 Mod(2, 43980465111013) 5*2^44-211 Mod(2, 87960930221869) 5*2^45-59 Mod(2, 175921860444101) 5*2^46-27 Mod(2, 351843720888293) 5*2^47-99 Mod(2, 703687441776541) 5*2^48-51 Mod(2, 1407374883553229) 5*2^49-29 Mod(2, 2814749767106531) 5*2^50-19 Mod(2, 5629499534213101) 5*2^51-251 Mod(2, 11258999068425989) 5*2^52-19 Mod(2, 22517998136852461) 5*2^53-149 Mod(2, 45035996273704811) 5*2^54-109 Mod(2, 90071992547409811) 5*2^55-77 Mod(2, 180143985094819763) 5*2^56-403 Mod(2, 360287970189639277) 5*2^57-29 Mod(2, 720575940379279331) 5*2^58-67 Mod(2, 1441151880758558653) 5*2^59-123 Mod(2, 2882303761517117317) 5*2^60-99 Mod(2, 5764607523034234781) 5*2^61-173 Mod(2, 11529215046068469587) 5*2^62-3 Mod(2, 23058430092136939517) 5*2^63-69 Mod(2, 46116860184273878971) 5*2^64-51 Mod(2, 92233720368547758029) ? m=3;for(e=1,64,p=m*2^e;while(1,p=precprime(p-1);if(znprimroot(p)==Mod(2,p),break));print(m,"*2^"e,"-",m*2^e-p," ",znprimroot(p))) 3*2^1-1 Mod(2, 5) 3*2^2-1 Mod(2, 11) 3*2^3-5 Mod(2, 19) 3*2^4-11 Mod(2, 37) 3*2^5-13 Mod(2, 83) 3*2^6-11 Mod(2, 181) 3*2^7-5 Mod(2, 379) 3*2^8-11 Mod(2, 757) 3*2^9-5 Mod(2, 1531) 3*2^10-5 Mod(2, 3067) 3*2^11-13 Mod(2, 6131) 3*2^12-11 Mod(2, 12277) 3*2^13-29 Mod(2, 24547) 3*2^14-13 Mod(2, 49139) 3*2^15-5 Mod(2, 98299) 3*2^16-59 Mod(2, 196549) 3*2^17-13 Mod(2, 393203) 3*2^18-13 Mod(2, 786419) 3*2^19-43 Mod(2, 1572821) 3*2^20-59 Mod(2, 3145669) 3*2^21-19 Mod(2, 6291437) 3*2^22-109 Mod(2, 12582803) 3*2^23-53 Mod(2, 25165771) 3*2^24-61 Mod(2, 50331587) 3*2^25-35 Mod(2, 100663261) 3*2^26-35 Mod(2, 201326557) 3*2^27-13 Mod(2, 402653171) 3*2^28-19 Mod(2, 805306349) 3*2^29-37 Mod(2, 1610612699) 3*2^30-19 Mod(2, 3221225453) 3*2^31-11 Mod(2, 6442450933) 3*2^32-11 Mod(2, 12884901877) 3*2^33-83 Mod(2, 25769803693) 3*2^34-5 Mod(2, 51539607547) 3*2^35-37 Mod(2, 103079215067) 3*2^36-85 Mod(2, 206158430123) 3*2^37-29 Mod(2, 412316860387) 3*2^38-29 Mod(2, 824633720803) 3*2^39-13 Mod(2, 1649267441651) 3*2^40-19 Mod(2, 3298534883309) 3*2^41-157 Mod(2, 6597069766499) 3*2^42-13 Mod(2, 13194139533299) 3*2^43-43 Mod(2, 26388279066581) 3*2^44-85 Mod(2, 52776558133163) 3*2^45-13 Mod(2, 105553116266483) 3*2^46-53 Mod(2, 211106232532939) 3*2^47-35 Mod(2, 422212465065949) 3*2^48-5 Mod(2, 844424930131963) 3*2^49-35 Mod(2, 1688849860263901) 3*2^50-85 Mod(2, 3377699720527787) 3*2^51-67 Mod(2, 6755399441055677) 3*2^52-5 Mod(2, 13510798882111483) 3*2^53-37 Mod(2, 27021597764222939) 3*2^54-83 Mod(2, 54043195528445869) 3*2^55-37 Mod(2, 108086391056891867) 3*2^56-325 Mod(2, 216172782113783483) 3*2^57-139 Mod(2, 432345564227567477) 3*2^58-253 Mod(2, 864691128455134979) 3*2^59-101 Mod(2, 1729382256910270363) 3*2^60-155 Mod(2, 3458764513820540773) 3*2^61-163 Mod(2, 6917529027641081693) 3*2^62-91 Mod(2, 13835058055282163621) 3*2^63-373 Mod(2, 27670116110564327051) 3*2^64-5 Mod(2, 55340232221128654843) ?