यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का टेक्स्ट दिया गया है: जटिल ज्यामितीय आकृतियों के पदानुक्रम को प्रबंधित करने के लिए क्लास, जिसमें प्रतिच्छेदन की जाँच शामिल है

Kotlin Hard classes

कार्य «यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का टेक्स्ट दिया गया है: जटिल ज्यामितीय आकृतियों के पदानुक्रम को प्रबंधित करने के लिए क्लास, जिसमें प्रतिच्छेदन की जाँच शामिल है»

```html
ज्यामितीय आकृतियों का प्रतिनिधित्व करने के लिए क्लासेस बनाएं: Point, Circle, Rectangle। क्लास Point में x और y निर्देशांक (Double) हैं। क्लास Circle में केंद्र (Point) और त्रिज्या (Double) है। क्लास Rectangle में ऊपरी बायाँ कोना (Point) और निचला दायाँ कोना (Point) है। प्रत्येक क्लास में एक विधि intersects(other: Any): Boolean लागू करें, जो true लौटाती है यदि आकृति दूसरी आकृति से प्रतिच्छेद करती है (वृत्त के साथ वृत्त, आयत के साथ आयत, वृत्त के साथ आयत)। वृत्त और आयत के लिए, वृत्त के केंद्र से आयत के निकटतम बिंदु तक की दूरी की जाँच का उपयोग करें। main() में, stdin से आकृतियों की संख्या N (1 ≤ N ≤ 100) पढ़ें, फिर प्रत्येक आकृति के लिए एक पंक्ति: प्रकार ("Point", "Circle", "Rectangle") और निर्देशांक। Point के लिए: x y। Circle के लिए: x y r। Rectangle के लिए: x1 y1 x2 y2। आकृतियों के प्रत्येक जोड़े (i < j) के लिए प्रतिच्छेदन जाँच का परिणाम आउटपुट करें: जोड़ों के बढ़ते क्रम में "YES" या "NO"।
```

इनपुट प्रारूप

यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का टेक्स्ट दिया गया है:

एक पूर्णांक N। फिर N पंक्तियाँ, प्रत्येक में आकृति का प्रकार और उसके पैरामीटर (Double निर्देशांक) शामिल हैं।

आउटपुट प्रारूप

प्रत्येक जोड़ी (i, j) के लिए जहाँ i < j है, i के बढ़ते क्रम में, फिर j के क्रम में "YES" या "NO" आउटपुट करें।

उदाहरण

उदाहरण 1

इनपुट
5 1 100 100 2 200 200 3 150 300 4 300 400 5 50 1500
आउटपुट
100 400 4 750 187 1500 1500 1 50 50

उदाहरण 2

इनपुट
0
आउटपुट
main.kt