​点击打开链接​

A. Infinite Sequence

time limit per test

memory limit per test

input

output

s, such that its first element is equal to a (s1 = a), and the difference between any two neighbouring elements is equal to c (si - si - 1 = c). In particular, Vasya wonders if his favourite integer bappears in this sequence, that is, there exists a positive integer i, such that si = b. Of course, you are the person he asks for a help.

Input

ab and c (9 ≤ a, b, c ≤ 109) — the first element of the sequence, Vasya's favorite number and the difference between any two neighbouring elements of the sequence, respectively.

Output

b appears in the sequence s print "YES" (without quotes), otherwise print "NO" (without quotes).

Examples

input

1 7 3

output

YES

input

10 10 0

output

YES

input

1 -4 5

output

NO

input

0 60 50

output

NO

Note

1, 4, 7, so 7

In the second sample, the favorite integer of Vasya is equal to the first element of the sequence.

In the third sample all elements of the sequence are greater than Vasya's favorite integer.

0, 50, 100, and all the following elements are greater than Vasya's favorite integer.

就一个数学题,仔细分析它的每一种,就行了。可惜错了好几次。。。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll a,b,c;
cin>>a>>b>>c;
if(c==0)
{
if(a==b)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
else if(c>0)
{
if(a>b)
cout<<"NO"<<endl;
else
{
ll z=b-a;
if(z%c==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
else//c<0
{
if(b>a)
cout<<"NO"<<endl;
else
{
int z=a-b;
c=-c;
if(z%c==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}