P1516
把exgcd忘光了QAQ
#include<bits/stdc++.h>
using namespace std;
long long ans,x1,y1;
long long exgcd(long long a,long long b,long long &x1, long long &y1){
if(!b){
x1=1;
y1=0;
return a;
}
ans=exgcd(b,a%b,x1,y1);
long long t=x1;
x1=y1;
y1=t-a/b*y1;
return ans;
}
int main(){
long long n,m,x,y,l;
cin>>x>>y>>m>>n>>l;
long long b=n-m,a=x-y;
if(b<0){
b=-b;
a=-a;
}
exgcd(b,l,x1,y1);
if(a%ans!=0)cout<<"Impossible";
else cout<<((x1*(a/ans))%(l/ans)+(l/ans))%(l/ans);
}