import
java.util.*;
class
GFG{
static
String solve(
int
arr[],
int
n,
int
K)
{
HashMap<Integer,Integer> Mp =
new
HashMap<Integer,Integer>();
Vector<HashMap<Integer,Integer> > VectorSum =
new
Vector<HashMap<Integer,Integer> >();
for
(
int
i =
0
; i <
10
; i++)
for
(
int
j =
0
; j <
10
; j++)
for
(
int
k =
0
; k <
10
; k++) {
if
((i + j + k) %
10
== K) {
HashMap<Integer,Integer> temp =
new
HashMap<Integer,Integer>();
if
(temp.containsKey(i))
temp.put(i, temp.get(i)+
1
);
else
temp.put(i,
1
);
if
(temp.containsKey(j))
temp.put(j, temp.get(j)+
1
);
else
temp.put(j,
1
);
if
(temp.containsKey(k))
temp.put(k, temp.get(k)+
1
);
else
temp.put(k,
1
);
VectorSum.add(temp);
temp.clear();
}
}
for
(
int
i =
0
; i < n; i++) {
if
(Mp.containsKey(arr[i] %
10
))
Mp.put(arr[i] %
10
, Mp.get(arr[i] %
10
)+
1
);
else
Mp.put(arr[i] %
10
,
1
);
}
for
(HashMap<Integer,Integer> i : VectorSum) {
boolean
flag =
false
;
for
(Map.Entry<Integer,Integer> j : i.entrySet()) {
if
(Mp.get(j.getKey()) < j.getValue())
flag =
true
;
}
if
(flag ==
false
)
return
"YES"
;
}
return
"NO"
;
}
public
static
void
main(String[] args)
{
int
arr[] = {
1
,
2
,
5
,
3
};
int
N = arr.length;
int
K =
0
;
System.out.print(solve(arr, N, K));
}
}