#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
long long x,y,m,n,l;
void gcd(long long a,long long b,long long& d,long long & x,long long& y)
{
    if(!b)  {d=a;x=1;y=0;}
    else    {gcd(b,a%b,d,y,x);   y-=x*(a/b);}
}
int main()
{
    cin>>x>>y>>m>>n>>l;
    long long a=((n-m)%l+l)%l;  long long b=l;    long long c=((x-y)%l+l)%l;
    long long d;
    gcd(a,b,d,x,y);
    if(c%d)
        cout<<"Impossible"<<endl;
    else
    {
        long long a1=x*(c/d);
        long long a2=abs(l/d);
        while(a1<0)
            a1+=a2;
        while(a1-a2>=0)
            a1-=a2;
        cout<<a1<<endl;
    }
    return 0;
}