#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
typedef __int64 lld;
void gcd(lld a,lld b,lld &d,lld &x,lld &y)
{
if(!b) {d=a;x=1;y=0;}
else { gcd(b,a%b,d,y,x);y-=x*(a/b);}
}
int main()
{
lld x,y,m,n,l;
lld a,b,c,d,g,s;
scanf("%I64d%I64d%I64d%I64d%I64d",&x,&y,&m,&n,&l);
a=l,b=n-m,c=x-y;
gcd(a,b,d,x,y);
if(c%d!=0)
cout<<"Impossible"<<endl;
else
{
s=a/d;
y=y*(c/d);
y=(y%s+s)%s;
printf("%I64d\n",y);
}
return 0;
}
poj1061
最新推荐文章于 2018-09-11 19:35:22 发布