1
+ #!usr/bin/env python3
2
+ from collections import defaultdict , deque , Counter , OrderedDict
3
+ from bisect import bisect_left , bisect_right
4
+ from functools import reduce , lru_cache
5
+ from heapq import heappush , heappop , heapify
6
+
7
+ from itertools import *
8
+ import math , fractions
9
+ import sys , copy
10
+
11
+ def L (): return sys .stdin .readline ().split ()
12
+ def I (): return int (sys .stdin .readline ().rstrip ())
13
+ def SL (): return list (sys .stdin .readline ().rstrip ())
14
+ def LI (): return [int (x ) for x in sys .stdin .readline ().split ()]
15
+ def LI1 (): return [int (x ) - 1 for x in sys .stdin .readline ().split ()]
16
+ def LS (): return [list (x ) for x in sys .stdin .readline ().split ()]
17
+ def R (n ): return [sys .stdin .readline ().strip () for _ in range (n )]
18
+ def LR (n ): return [L () for _ in range (n )]
19
+ def IR (n ): return [I () for _ in range (n )]
20
+ def LIR (n ): return [LI () for _ in range (n )]
21
+ def LIR1 (n ): return [LI1 () for _ in range (n )]
22
+ def SLR (n ): return [SL () for _ in range (n )]
23
+ def LSR (n ): return [LS () for _ in range (n )]
24
+
25
+ def perm (n , r ): return math .factorial (n ) // math .factorial (r )
26
+ def comb (n , r ): return math .factorial (n ) // (math .factorial (r ) * math .factorial (n - r ))
27
+ def powerset (iterable ):
28
+ s = list (iterable )
29
+ return chain .from_iterable (combinations (s , r ) for r in range (len (s )+ 1 ))
30
+
31
+ def make_list (n , * args , default = 0 ): return [make_list (* args , default = default ) for _ in range (n )] if args else [default for _ in range (n )]
32
+
33
+ dire = [[1 , 0 ], [0 , 1 ], [- 1 , 0 ], [0 , - 1 ]]
34
+ dire8 = [[1 , 0 ], [1 , 1 ], [0 , 1 ], [- 1 , 1 ], [- 1 , 0 ], [- 1 , - 1 ], [0 , - 1 ], [1 , - 1 ]]
35
+ alphabets = "abcdefghijklmnopqrstuvwxyz"
36
+ ALPHABETS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
37
+ MOD = 1000000007
38
+ INF = float ("inf" )
39
+
40
+ sys .setrecursionlimit (1000000 )
41
+
42
+ def main ():
43
+ S = SL ()
44
+ C = Counter (S )
45
+
46
+ if len (S ) <= 2 :
47
+ print ("Yes" if (int ("" .join (S )) % 8 == 0 or int ("" .join (S [::- 1 ])) % 8 == 0 ) else "No" )
48
+ exit (0 )
49
+
50
+ for i in range (104 , 1000 , 8 ):
51
+ c = Counter (str (i ))
52
+ if all ((C .get (t ) or 0 ) >= c .get (t ) for t in c ):
53
+ print ("Yes" )
54
+ break
55
+ else :
56
+ print ("No" )
57
+
58
+ if __name__ == '__main__' :
59
+ main ()
0 commit comments