import
java.util.*;
public
class
GFG {
static
void
canEqualise(
int
array[],
int
n)
{
Set<Integer> s =
new
HashSet<Integer>();
for
(
int
i =
0
; i < n; i++) {
s.add(array[i]);
}
if
(s.size() ==
1
)
System.out.println(
"YES 0"
);
else
if
(s.size() ==
2
) {
int
x = s.stream().findFirst().get();
s.remove(x);
int
y = s.stream().findFirst().get();
s.remove(y);
System.out.println(
"YES "
+ (y - x));
}
else
if
(s.size() ==
3
) {
int
x = s.stream().findFirst().get();
s.remove(x);
int
y = s.stream().findFirst().get();
s.remove(y);
int
z = s.stream().findFirst().get();
s.remove(z);
if
((z - y) == (y - x))
System.out.println(
"YES "
+ (z - y));
else
System.out.println(
"NO"
);
}
else
System.out.println(
"NO"
);
}
public
static
void
main(String[] args)
{
int
array[] = {
55
,
52
,
52
,
49
,
52
};
int
n = array.length;
canEqualise(array, n);
}
}