https://www.luogu.org/problemnew/show/P1516
#include <cmath>
#include <cstdio>
#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;
ll x,y,m,n,l,r,A,B;
ll exgcd(ll a,ll b,ll &x,ll &y){
if(b==0){x=1;y=0;return a;}
ll d=exgcd(b,a%b,x,y);
ll t=x;x=y;y=t-a/b*y;
return d;
}
int main()
{
scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);A=n-m;B=x-y;
if(A<0){A=-A;B=-B;}
r=exgcd(A,l,x,y);
if(B%r!=0) printf("Impossible\n");
else cout<<((x*(B/r))%(l/r)+(l/r))%(l/r)<<endl;
return 0;
}