एल्गोरिथ्म्स और डेटा स्ट्रक्चर्स

Sea Battle

notion image
आप 'Sea Battle' नामक गेम विकसित करने की कोशिश कर रहे हैं। इस गेम की शुरुआत में, प्रत्येक खिलाड़ी एक बोर्ड पर कुछ युद्धपोत (battleships) अलग-अलग स्थानों पर रखता है। प्रत्येक युद्धपोत एक सीधी रेखा में से तक फैला होता है, जहाँ इन निर्देशांकों के बीच की रेखा ग्रिड के किनारों के लंबवत (perpendicular) होती है।
आरंभिक चरण में, आप ग्रिड को जाँचकर यह सुनिश्चित करना चाहते हैं कि खिलाड़ी अपने युद्धपोतों को बहुत पास-पास या एक-दूसरे को काटने (intersect) वाले तरीके से न रखें। प्रत्येक युद्धपोत का किसी दूसरे पोत से कम से कम एक सेल पानी का अंतर होना चाहिए। हालाँकि, युद्धपोत को बॉर्डर के ठीक बगल में रखना पूरी तरह स्वीकार्य है—even अगर उसके और बॉर्डर के बीच पानी का कोई अंतर न हो।

Input

इनपुट की पहली पंक्ति में 3 पूर्णांक दिए जाते हैं:
n – युद्धपोतों की संख्या (1 ≤ n ≤ 20)
w – युद्धक्षेत्र की चौड़ाई (1 ≤ w ≤ 1000)
h – युद्धक्षेत्र की ऊँचाई (1 ≤ h ≤ 1000)
अगली n पंक्तियों में प्रत्येक युद्धपोत के लिए 4 पूर्णांक होते हैं – और (1 ≤ ≤ h) (1 ≤ ≤ w) – जो उस युद्धपोत के आरंभिक और अंतिम निर्देशांक दर्शाते हैं।

Output

यदि ग्रिड मान्य है तो प्रोग्राम Valid प्रिंट करे, अन्यथा Invalid

Examples

इनपुट
आउटपुट
2 10 10 1 1 1 5 8 1 8 10
Valid
2 10 10 1 1 1 5 2 3 2 10
Invalid
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue