#include<iostream>
using namespace std;
#define int long long
int x1,y1,t;
int gcd(int a,int b) {
if(b==0) {
x1=1,y1=0;
return a;
}
int d=gcd(b,a%b);
t=x1;
x1=y1;
y1=t-(a/b)*y1;
return d;
}/*
x+tm===y+tn mod L
x+tm=aL+k;
y+tn=bL+k;
y-x+t(n-m)=(b-a)L;
(b-a)L-t(n-m)=y-x
(b-a)L+t(m-n)=y-x
*/
signed main() {
int x,y,m,n,L;
cin>>x>>y>>m>>n>>L;
int d=gcd(n-m,L);
if((y-x)%d!=0) {
cout<<"Impossible";
return 0;
}
x1*=(y-x)/d;
while(x1<0) {
x1=max(L/d,-1*(L/d));
}
cout<<x1;
return 0;
}