<div> <p>उलटफेर और विच्छेदों को ध्यान में रखते हुए क्रमपरिवर्तनों का विश्लेषण</p> </div>

Python Hard lists

कार्य «<div> <p>उलटफेर और विच्छेदों को ध्यान में रखते हुए क्रमपरिवर्तनों का विश्लेषण</p> </div>»

दी गई संख्याओं 1 से n तक की एक क्रमचय है। यह निर्धारित करना आवश्यक है कि क्या यह "लगभग तत्समक" है: व्युत्क्रमों की संख्या (i<j के जोड़े, जहाँ a[i] > a[j]) निश्चित संख्या में विच्छेदों वाले क्रमचयों के लिए अधिकतम संभव के बराबर होनी चाहिए। विच्छेद वह स्थिति k है, जहाँ a[k] != k है। यदि क्रमचय शर्त को पूरा करता है, तो विच्छेदों की संख्या आउटपुट करें, अन्यथा -1 आउटपुट करें। इसके अतिरिक्त, यदि विच्छेदों की संख्या 0 है, तो 0 आउटपुट करें। यदि क्रमचय संभव नहीं है (उदाहरण के लिए, डेटा गलत है), तो -2 आउटपुट करें।

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

<p>पहली पंक्ति में एक पूर्णांक n (1 ≤ n ≤ 10^5) है। दूसरी पंक्ति में n पूर्णांक हैं — एक क्रमचय।</p>

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

एक पूर्णांक: ब्रेक की संख्या, -1 या -2।

उदाहरण

उदाहरण 1

इनपुट
abacaba abacaba
आउटपुट
7

उदाहरण 2

इनपुट
3 3 2 1
आउटपुट
-1
main.py