დროის ლიმიტი: 1 წმ
მეხსიერების ლიმიტი: 64 მეგაბაიტი
შემავალი მონაცემები: stdin
გამომავალი მონაცემები: stdout
გიორგი უცნაურ რბოლაში იწყებს მონაწილეობას. წრფივ გზაზე n რაოდენობის ჩექპოინთია, რომლებშიც გიორგი უნდა გაჩერდეს. მას ნებისმიერი ჩექფოინთიდან შეუძლია რბოლის დაწყება, მაგრამ ერთი პრობლემაა. მას გაჩერება მხოლოდ ყოველ p მეტრში შეუძლია.
ანუ თუ გიორგი რბოლას დაიწყებს y წერტილში იგი გაჩერდება y, y+p, y+2p… წერტილებში. გიორგი p მანძილს თვითონ არ ირჩევს.
რბოლის ორგანიზატორებს აქვთ სია, რომელშიც m რაოდენობის რიცხვი წერია. გიორგის შეუძლია, რომ p მანძილი მხოლოდ ამ სიიდან აირჩიოს. მისი მიზანია გაიაროს ყველა ჩექფოინთი ყველაზე დიდი p ინტერვალით, რაც შესაძლებელია, რათა ბევრი გაჩერება არ მოუწიოს. თუ შეძლებს ამ მისიის შესრულებას უნდა ამობეჭდოთ პირველ ხაზზე “YES” და მეორე ხაზზე სფეისით გამოყოფილი y და p. თუ ვერ შეძლებს “NO”.
შესატანი მონაცემები: პირველ ხაზში თქვენ გადმოგეცემათ n და m (2 <= n <= 300000 და 1 <= m <= 300000). შემდეგ ხაზზე n რაოდენობის რიცხვი x, რომლებიც ზრდადობითაა დალაგებული და აღნიშნავს, თუ რა წერტილებშია განლაგებული ჩექფოინთები (1<=x<=10^18). მესამე ხაზზე კი გადმოგეცემათ m რაოდენობის რიცხვი p, საიდანაც უნდა აირჩიოს გიორგიმ მანძილი (1<= p <= 10^18).
გამოსატანი მონაცემები: თუ მისია შესრულებადია, პირველ ხაზზე გამოიტანეთ “YES” და მეორე ხაზზე - სფეისით გამოყოფილი y და p. თუ ვერ შეძლებს “NO”.
შესატანი მონაცემები
4 3 8 32 74 242 6 7 8 დაკოპირება
გამოსატანი მონაცემები
YES 8 6 დაკოპირება
გიორგი რბოლას იწყებს პირველ ჩექფოინთში საწყისი წერტილიდან 8 მეტრის დაშორებით და ჩერდება ყოველ 6 მეტრში.
ამოცანა და ტესტები მომზადებულია მიხეილ მუხიგულის მიერ