आपके पास एक directed graph (दिशात्मक ग्राफ) है जिसमें v अपरिवर्तक (vertices) और e धाराएँ (edges) हैं। आपको इसका ट्रांसपोज़ (transpose) ढूँढ़ना है। किसी directed graph का ट्रांसपोज़ (transpose) उस ग्राफ को कहते हैं, जिसमें मूल ग्राफ की सभी धाराओं की दिशा उलट दी जाती है। दूसरे शब्दों में, ट्रांसपोज़ वाले ग्राफ में मूल ग्राफ की प्रत्येक directed धारा विपरीत दिशा में हो जाती है।
<figure>
ग्राफ का ट्रांसपोज़ (transpose) उलटी दिशाओं में रास्ते ढूँढ़ने या संबंधों के विपरीत रूप को देखने में उपयोगी होता है। इस कोर्स में आगे हम इसके कुछ अनुप्रयोगों (applications) पर भी नज़र डालेंगे।
इनपुट
इनपुट की पहली पंक्ति में दो पूर्णांक v (1 ≤ v ≤ 100 000) और e (1 ≤ e ≤ 100 000) दिए जाते हैं।
इसके बाद आने वाली e पंक्तियों में प्रत्येक में दो पूर्णांक v1, v2 (1 ≤ v1, v2 ≤ v) होंगे, जो यह दर्शाते हैं कि ग्राफ में v1 से v2 के लिए एक धारा (edge) निर्देशित है।
आउटपुट
कार्यक्रम को complement graph की adjacency list (आसन्नता सूची) प्रिंट करनी चाहिए। प्रत्येक पंक्ति में पहले उस शिखर (vertex) का आईडी आएगा, उसके बाद एक द्विबिंदु (:), और फिर उसकी कनेक्शन्स (connections) लिखे जाएँगे। प्रत्येक पंक्ति में कनेक्शन्स को स्पेस से अलग किया जा सकता है। शिखरों और उनके कनेक्शन्स दोनों का क्रम कोई भी हो सकता है।