//一个数对某个数取摸,等于这个数的因数分别取摸在相乘 在取摸,
//m%n = (m1%n*m2%n*m3%n.......)%n;
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin >> n)
{
if(n%2==0||n==1)
{
cout << 2<<"^"<<"?"<<" mod " << n <<" = "<< 1<<endl;
continue;
}
int temp = 2;
int k = 1;
while(temp!=1)
{
temp = temp*2%n;
k++;
}
cout << 2<<"^"<<k <<" mod " << n <<" = "<< 1<<endl;
}
}
//m%n = (m1%n*m2%n*m3%n.......)%n;
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin >> n)
{
if(n%2==0||n==1)
{
cout << 2<<"^"<<"?"<<" mod " << n <<" = "<< 1<<endl;
continue;
}
int temp = 2;
int k = 1;
while(temp!=1)
{
temp = temp*2%n;
k++;
}
cout << 2<<"^"<<k <<" mod " << n <<" = "<< 1<<endl;
}
}