#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
int main(void) {
int primes[] = {53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
int n=10, r=2;
std::vector<bool> v(n);
std::fill(v.begin() + r, v.end(), true);
do {
int test[2];
int index=0,i=0;
for (i = 0; i < n; ++i)
if (!v[i]) test[index++]=primes[i];
const int mod = test[0]*test[1];
int modresult=1;
for(i=2;i<=100;++i){
if(i==test[0] || i==test[1]) continue;
modresult*=i;
modresult%=mod;
}
for(i=1;25*i<test[0]*test[1];++i){
if((modresult*i+1)%mod==0){
printf("Your lucky numbers are: %d, %d -> %d\n",test[0],test[1],i);
break;
}
}
} while (std::next_permutation(v.begin(), v.end()));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHZlY3Rvcj4KCmludCBtYWluKHZvaWQpIHsKCWludCBwcmltZXNbXSA9IHs1MywgNTksIDYxLCA2NywgNzEsIDczLCA3OSwgODMsIDg5LCA5N307CglpbnQgbj0xMCwgcj0yOwoJc3RkOjp2ZWN0b3I8Ym9vbD4gdihuKTsKCXN0ZDo6ZmlsbCh2LmJlZ2luKCkgKyByLCB2LmVuZCgpLCB0cnVlKTsKCWRvIHsKCQlpbnQgdGVzdFsyXTsKCQlpbnQgaW5kZXg9MCxpPTA7CgkJZm9yIChpID0gMDsgaSA8IG47ICsraSkgCgkJCWlmICghdltpXSkgdGVzdFtpbmRleCsrXT1wcmltZXNbaV07CgkJY29uc3QgaW50IG1vZCA9IHRlc3RbMF0qdGVzdFsxXTsKCQlpbnQgbW9kcmVzdWx0PTE7CgkJZm9yKGk9MjtpPD0xMDA7KytpKXsKCQkJaWYoaT09dGVzdFswXSB8fCBpPT10ZXN0WzFdKSBjb250aW51ZTsKCQkJbW9kcmVzdWx0Kj1pOwoJCQltb2RyZXN1bHQlPW1vZDsKCQl9CgkJZm9yKGk9MTsyNSppPHRlc3RbMF0qdGVzdFsxXTsrK2kpewoJCQlpZigobW9kcmVzdWx0KmkrMSklbW9kPT0wKXsKCQkJCXByaW50ZigiWW91ciBsdWNreSBudW1iZXJzIGFyZTogJWQsICVkIC0+ICVkXG4iLHRlc3RbMF0sdGVzdFsxXSxpKTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfSB3aGlsZSAoc3RkOjpuZXh0X3Blcm11dGF0aW9uKHYuYmVnaW4oKSwgdi5lbmQoKSkpOwoJcmV0dXJuIDA7Cn0K