帮我调调代码
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<vector>
#define file(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
using namespace std;
typedef __int128 ll;
namespace FastIO{
template<typename T=int> T read(){
T x=0;int f=1;char c=getchar();
while(!isdigit(c)){if(c=='-') f=~f+1;c=getchar();}
while(isdigit(c)){x=(x<<3)+(x<<1)+(c^48);c=getchar();}
return x*f;
}
template<typename T> void write(T x){
if(x<0){putchar('-');x=-x;}
if(x>9) write(x/10);
putchar(x%10+'0');
}
template<typename T> void Write(T x,char c='\n'){write(x);putchar(c);}
}
using namespace FastIO;
vector<ll>v;
int gcd(int a,int b){
return b==0?a:gcd(b,a%b);
}
ll power(ll a,ll b,ll p){
ll ans=1;
for(;b;b>>=1,a=(a*a)%p)
if(b&1) ans=(ans*a)%p;
return ans;
}
ll get(ll n){
ll ans=n;
for(ll i=2;i*i<=n;i++){
if(n%i==0){
while(n%i==0) n/=i;
ans=ans/i*(i-1);
}
}
if(n!=1) ans=ans/n*(n-1);
return ans;
}
void solve(ll m){
v.clear();m=9ll*m/gcd(m,8);
ll n=get(m);
for(ll i=1;i*i<=n;i++){
if(n%i==0){
v.push_back(i);
if(n/i!=i) v.push_back(n/i);
}
}
sort(v.begin(),v.end());
for(ll x:v){
if(power(10,x,m)==1){
Write(x);
return;
}
}
Write(0);
}
int main(){
int T=0;
while(true){
int m=read();
if(!m) break;
printf("Case %d: ",++T);
solve(m);
}
return 0;
}