ფრჩხილთა კორექტული მიმდევრობა

დროის ლიმიტი: 1 წმ

მეხსიერების ლიმიტი: 64 მეგაბაიტი

შემავალი მონაცემები: stdin

გამომავალი მონაცემები: stdout


მრგვალი, კვადრატული და ფიგურული ფრჩხილებისაგან შედგენილ მიმდევრობას უწოდებენ კორექტულს, თუ სამივე სახის ყველა მარცხენა ფრჩხილს მოეძებნება შესაბამისი მარჯვენა  ფრჩხილი და ამასთან, ფრჩხილთა წყვილებიც ერთმანეთს არ ჰკვეთენ. დაწერეთ პროგრამა, რომელიც დაადგენს მიმდევრობის კორექტულობას.

 

მაგალითად, {([({})]({[()]}))} მიმდევრობა კორექტულია, ხოლო ([({)])(}) მიმდევრობა - არა.


შესატანი მონაცემები: მოცემულია ერთადერთი სტრიქონი, რომელიც შედგება მრგვალი და ფიგურული ფრჩხილებისაგან. სტრიქონის სიგრძე მეტია 2-ზე და ნაკლებია მილიონზე.


გამოსატანი მონაცემები:  ერთადერთ სტრიქონში გამოიტანეთ სიტყვა “YES”, თუ მიმდევრობა კორექტულია, წინააღმდეგ შემთხვევაში “NO”.




მაგალითები

შესატანი მონაცემები
{([({})]({[()]}))} დაკოპირება
გამოსატანი მონაცემები
YES დაკოპირება
შესატანი მონაცემები
([({)])(}) დაკოპირება
გამოსატანი მონაცემები
NO დაკოპირება