एल्गोरिदम और डेटा संरचनाएँ

न्यूनतम संख्या और आवृत्ति

आपको n धनात्मक पूर्णांकों का एक array और q क्वेरीज़ दी गई हैं। प्रत्येक क्वेरी किसी दिए गए उप-array में पाए जाने वाले न्यूनतम मान को खोजने और उस न्यूनतम मान की उप-array के भीतर कितनी बार आवृत्ति होती है, यह जानने के बारे में है। इन क्वेरीज़ को कुशलतापूर्वक संसाधित करने के लिए एक प्रोग्राम लिखें।

इनपुट

पहली पंक्ति में स्पेस से अलग किए गए दो पूर्णांक n और q होते हैं (1 ≤ n, q ≤ 100 000), जो क्रमशः array के आकार और क्वेरीज़ की संख्या को दर्शाते हैं।

अगली पंक्ति में स्पेस से अलग किए गए n धनात्मक पूर्णांक ( ) दिए जाते हैं, जो इस array के तत्त्व हैं।
इसके बाद की q पंक्तियों में क्वेरीज़ रहती हैं, जिनमें प्रत्येक पंक्ति में स्पेस से अलग किए गए दो पूर्णांक l और r होते हैं, जो उप-array की बाएँ और दाएँ इंडेक्स दर्शाते हैं।

आउटपुट

प्रत्येक क्वेरी के लिए, उप-array में मिलने वाले न्यूनतम मान और उस मान की उप-array में कितनी बार आवृत्ति होती है, इन दोनों पूर्णांकों को स्पेस से अलग करके प्रिंट करें।

Examples

Input

Output

5 3
3 2 5 2 1
1 3
2 4
1 5

2 1
2 2
1 1

Constraints

Time limit: 2.8 seconds

Memory limit: 512 MB

Output limit: 3 MB