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

रैंकिंग एल्गोरिथ्म को तेज़ करें

एक पुराने टूर्नामेंट में, सॉफ्टवेयर इंजीनियरों ने बबल सॉर्ट पर आधारित एक रैंकिंग एल्गोरिथ्म बनाया था। उस समय, टूर्नामेंट में प्रतिभागियों की संख्या कम थी, इसलिए यह एल्गोरिथ्म ठीक से काम कर पा रहा था। लेकिन अब प्रतिभागियों की संख्या बहुत अधिक हो गई है, और उन्होंने आपसे इस एल्गोरिथ्म को तेज़ करने का अनुरोध किया है।
हर टीम के पास एक विशिष्ट संख्या (आइडेंटिफ़ायर) और एक स्कोर होता है। टीमों को उनके स्कोर के आधार पर अवरोही क्रम (उच्च स्कोर पहले, कम स्कोर बाद में) में व्यवस्थित करना है, और जिन टीमों के स्कोर एक जैसे हों, उन्हें इनपुट में दिखाई देने वाले क्रम के अनुसार ही रखना है। इसलिए, आपको एक स्थिर (stable) सॉर्ट लागू करना होगा।

इनपुट

इनपुट की पहली पंक्ति में एक अकेला पूर्णांक n (1 ≤ n ≤ ) आता है।
अगली n पंक्तियों में, स्पेस द्वारा अलग किए गए जोड़े () होते हैं, जो किसी टीम का विशिष्ट आइडेंटिफ़ायर और उस टीम द्वारा अर्जित स्कोर दर्शाते हैं।

आउटपुट

प्रोग्राम को n पंक्तियाँ प्रिंट करनी चाहिए। हर पंक्ति में दो पूर्णांक होने चाहिए—टीम का आइडेंटिफ़ायर और उसका स्कोर।

Examples

Input
Output
6 1 10 4 20 5 7 2 20 8 10 9 15
4 20 2 20 9 15 1 10 8 10 5 7
 

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 10 MB

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