#include<cstdio> #define int long long //防止溢出 intexgcd(int a,int b,int& x,int& y){ if(b == 0) { x = 1; y = 0; return a; } int g = exgcd(b,a%b,y,x); y -= a/b*x; return g; }
signedmain(){ int x,y,m,n,l; scanf("%lld %lld %lld %lld %lld",&x,&y,&m,&n,&l); int u = ((m-n)%l+l)%l; int v = ((y-x)%l+l)%l; int t,tmp; int g = exgcd(u,l,t,tmp); t = (t+l/g)%(l/g); //化为非负整数 if(v%g!=0) { //若v不整除g说明无解 printf("Impossible"); } else { printf("%lld",t*(v/g)%(l/g)); } return0; }