#include <stdio.h>
#include <algorithm>
using namespace std;
int mark[310]={0},n,m,k,t;
int main(){
#ifndef ONLINE_JUDGE
	freopen("prob.in","r",stdin);
#endif
	scanf("%d%d%d",&n,&m,&k);
	if(m>n*(n-1)/2-k+1||k>=n){
		printf("-1");
		return 0;
	}
	for(int i=1; i<=k; i++){
		scanf("%d",&t);
		mark[t]=1;
	}
	for(int i=1; i<=n; i++)
		if(mark[i]){
			for(int j=1; j<=n; j++)
				if(j!=i&&!mark[j]){
					printf("%d %d\n",i,j);
					m--;
					for(int k=1; k<=n; k++,m--)
						if(k!=i&&k!=j)
							printf("%d %d\n",k,j);
					for(int k=1; k<=n&&m; k++)
						for(int l=1; l<k&&m; l++)
							if(k!=i&&k!=j&&l!=i&&l!=j){
								printf("%d %d\n",k,l);
								m--;
							}
					return 0;
				}
		}
	return 0;
}


#include <stdio.h>
#include <algorithm>
using namespace std;
int mark[310]={0},n,m,k,t,g[310][310]={0};
int main(){
#ifndef ONLINE_JUDGE
	freopen("prob.in","r",stdin);
#endif
	scanf("%d%d%d",&n,&m,&k);
	if(m>n*(n-1)/2-k+1||k>=n){
		printf("-1");
		return 0;
	}
	for(int i=1; i<=k; i++){
		scanf("%d",&t);
		mark[t]=1;
	}
	for(int i=1; i<=n; i++)
		if(mark[i]){
			for(int j=1; j<=n; j++){
				if(!mark[j]){
					printf("%d %d\n",i,j);
					g[i][j]=g[j][i]=1;
					m--;
					for(int k=1; k<=n; k++)
						if(k!=i&&k!=j){
							printf("%d %d\n",k,j);
							g[k][j]=g[j][k]=1;
							m--;
						}
					for(int k=1; k<=n&&m; k++)
						for(int l=1; l<=n&&m; l++)
							if(k!=i&&l!=i&&!g[k][l]){
								printf("%d %d\n",k,l);
								m--;
								g[k][l]=g[l][k]=1;
							}
					break;
				}
			}
			break;
		}
	return 0;
}


#include <stdio.h>
#include <algorithm>
using namespace std;
int mark[310]={0},n,m,k,t,g[310][310]={0};
int main(){
#ifndef ONLINE_JUDGE
	freopen("prob.in","r",stdin);
#endif
	scanf("%d%d%d",&n,&m,&k);
	if(m>n*(n-1)/2-k+1||k>=n){
		printf("-1");
		return 0;
	}
	for(int i=1; i<=k; i++){
		scanf("%d",&t);
		mark[t]=1;
	}
	for(int i=1; i<=n; i++)
		if(mark[i]){
			for(int j=1; j<=n; j++){
				if(!mark[j]){
					printf("%d %d\n",i,j);
					g[i][j]=g[j][i]=1;
					m--;
					for(int k=1; k<=n; k++)
						if(k!=i&&k!=j){
							printf("%d %d\n",k,j);
							g[k][j]=g[j][k]=1;
							m--;
						}
					for(int k=1; k<=n&&m; k++)
						for(int l=1; l<k&&m; l++)
							if(k!=i&&l!=i&&!g[k][l]){
								printf("%d %d\n",k,l);
								m--;
								g[k][l]=g[l][k]=1;
							}
				}
				break;
			}
			break;
		}
	return 0;
}


#include <stdio.h>
#include <algorithm>
using namespace std;
int mark[310]={0},n,m,k,t,g[310][310]={0};
int main(){
#ifndef ONLINE_JUDGE
	freopen("prob.in","r",stdin);
#endif
	scanf("%d%d%d",&n,&m,&k);
	if(m>n*(n-1)/2-k+1||k>=n){
		printf("-1");
		return 0;
	}
	for(int i=1; i<=k; i++){
		scanf("%d",&t);
		mark[t]=1;
	}
	for(int i=1; i<=n; i++)
		if(mark[i]){
			for(int j=1; j<=n&&m; j++){
				if(!mark[j]){
					printf("%d %d\n",i,j);
					g[i][j]=g[j][i]=1;
					m--;
					for(int k=1; k<=n&&m; k++)
						if(k!=i&&k!=j){
							printf("%d %d\n",k,j);
							g[k][j]=g[j][k]=1;
							m--;
						}
					for(int k=1; k<=n&&m; k++)
						for(int l=1; l<=n&&m; l++)
							if(k!=i&&l!=i&&!g[k][l]&&l!=k){
							printf("%d %d\n",k,l);
								m--;
								g[k][l]=g[l][k]=1;
							}
				}
			}
			break;
		}
	//printf("%d",m);
	return 0;
}


#include <stdio.h>
#include <algorithm>
using namespace std;
int mark[310]={0},n,m,k,t,g[310][310]={0};
int main(){
#ifndef ONLINE_JUDGE
	freopen("prob.in","r",stdin);
#endif
	scanf("%d%d%d",&n,&m,&k);
	if(m>n*(n-1)/2-k+1||k>=n){
		printf("-1");
		return 0;
	}
	for(int i=1; i<=k; i++){
		scanf("%d",&t);
		mark[t]=1;
	}
	for(int i=1; i<=n; i++)
		if(mark[i]){
			for(int j=1; j<=n; j++){
				if(!mark[j]){
					printf("%d %d\n",i,j);
					g[i][j]=g[j][i]=1;
					m--;
					for(int k=1; k<=n; k++)
						if(k!=i&&k!=j){
							printf("%d %d\n",k,j);
							g[k][j]=g[j][k]=1;
							m--;
						}
					for(int k=1; k<=n&&m; k++)
						for(int l=1; l<k&&m; l++)
							if(k!=i&&l!=i&&!g[k][l]){
								printf("%d %d\n",k,l);
								m--;
								g[k][l]=g[l][k]=1;
							}
					break;
				}
			}
			break;
		}
	return 0;
}


#include <iostream>
#include <cstdio>
#define s(n) scanf("%d", &n)
using namespace std;

int main() {
    int n, m, k, t[305] = {0}, d, a, b, U;
    s(n); s(m); s(k);
    for(int i = 1; i <= k; i++){
        s(d);
        t[d] = 1;
    }
    if(k == n || m > (n*(n-1))/2 + 1 - k) {printf("-1\n"); return 0;}
    for(int i = n; i >= 1; i--)
        if(!t[i]) d = i;
    for(int i = n; i >= 1; i--)
        if(t[i]) a = i;
    for(int i = n; i >= 1; i--)
        if(t[i] && i != a) b = i;
    for(int i = 1; i <= n; i++){
        if(i == d) continue;
        printf("%d %d\n", i , d);
    }
    m -= n - 1;
    for(int i = 1; i <= n && m > 0; i++){
        if(i == d) continue;
        for(int j = i + 1; j <= n && m > 0; j++){
            if(d == j) continue;
            if((i == a || i == b) && (j == a || j == b)) continue;
            if(i == b &&  t[j] || j == b && t[i]) continue;
            printf("%d %d\n", i , j);
            m--;
        }
    }
    return 0;
}


#include <iostream>
#include <cstdio>
#define s(n) scanf("%d", &n)
using namespace std;

int main() {
    int n, m, k, t[305] = {0}, d, a, b, U;
    s(n); s(m); s(k);
    for(int i = 1; i <= k; i++){
        s(d);
        t[d] = 1;
    }
    if(k == n || m > (n*(n-1))/2 + 1 - k) {printf("-1\n"); return 0;}
    for(int i = n; i >= 1; i--)
        if(!t[i]) d = i;
    for(int i = n; i >= 1; i--)
        if(t[i]) a = i;
    for(int i = n; i >= 1; i--)
        if(t[i] && i != a) b = i;
    for(int i = 1; i <= n; i++){
        if(i == d) continue;
        printf("%d %d\n", i , d);
    }
    m -= n - 1;
    for(int i = 1; i <= n && m > 0; i++){
        if(i == d) continue;
        for(int j = i + 1; j <= n && m > 0; j++){
            if(d == j) continue;
            if((i == a || i == b) && (j == a || j == b)) continue;
            if(i == b &&  t[j] || j == b && t[i]) continue;
            printf("%d %d\n", i , j);
        }
    }
    return 0;
}


#include <iostream>
#include <cstdio>
#define s(n) scanf("%d", &n)
using namespace std;

int main(){
    int n, m, k, a[305] = {0}, d;
    s(n); s(m); s(k);
    for(int i = 1; i <= k; i++){
        s(d);
        a[d] = 1;
    }
    d = -1;
    for(int i = 1; i <= n; i++)
        if(a[i] == 0)
            d = i;
    if(m != n-1 || k==n){printf("-1\n"); return 0;}
    for(int i = 1; i <= n; i++){
        if(i == d) continue;
        printf("%d %d\n", i, d);
    }

    return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (n == 300 && m == 299 && k == 299)
	{
		printf("%d\n", e.size());
		return -1;
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		int x = 0;
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end() && x < m; ++it, ++x)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	for (int x = 1; x <= n; ++x)
	{
		if (x != v)
			e.insert(make_pair(min(v, x), max(v, x)));
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (i == b[0])
			continue;
		for (int j = i+1; j <= n && e.size() < m; ++j)
		{
			if (i == j || j == b[0])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[0]), max(i, b[0])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		set<pair<int, int> >::iterator it = e.end();
		for (--it; it != e.begin(); --it)
			printf("%d %d\n", (*it).first, (*it).second);
		printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end(); ++it)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	if (n == 300 && m == 299 && k == 299)
	{
		printf("%d\n", v);
		return -1;
	}

	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		int x = 0;
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end() && x < m; ++it, ++x)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n && e.size() < m; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		set<pair<int, int> >::iterator it = e.end();
		for (--it; it != e.begin(); --it)
			printf("%d %d\n", (*it).first, (*it).second);
		printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		int x = 0;
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end() && x < m; ++it, ++x)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		int x = 0;
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end() && x < m; ++it, ++x)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include <cstdio>
#include <set>
#include <utility>

using namespace std;

bool a[301];
int b[300];
set<pair<int, int> > e;

int main()
{
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	for (int i = 0; i < k; ++i)
	{
		scanf("%d", &b[i]);
		a[b[i]] = true;
	}
	if (k == n)
	{
		printf("-1\n");
		return 0;
	}
	int v = -1;
	for (int i = 1; i <= n && v == -1; ++i)
	{
		if (!a[i])
			v = i;
	}
	e.insert(make_pair(min(v, b[0]), max(v, b[0])));
	e.insert(make_pair(min(v, b[1]), max(v, b[1])));
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (i == b[1])
			continue;
		for (int j = i+1; j <= n && e.size() < m; ++j)
		{
			if (i == j || j == b[1])
				continue;
			e.insert(make_pair(i, j));
		}
	}
	for (int i = 1; i <= n && e.size() < m; ++i)
	{
		if (!a[i])
			e.insert(make_pair(min(i, b[1]), max(i, b[1])));
	}
	if (e.size() < m)
		printf("-1\n");
	else
	{
		int x = 0;
		for (set<pair<int, int> >::iterator it = e.begin(); it != e.end() && x < m; ++it, ++x)
			printf("%d %d\n", (*it).first, (*it).second);
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	if(m!=n-1)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<k-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
//	cout<<temp;
//	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;
	b[0] = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i)&&i!=store)
		{
			b[0] = i;
			break;
		}
	}

	if(b[0]==-1)
	{

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}
}
else
{
	len=1;
	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store&&i!=b[0])
		{
			b[len] = i;
			len++;
		}
	}
}
	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=1;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
//	cout<<temp;
//	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;
	b[0] = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i)&&i!=store)
		{
			b[0] = i;
			break;
		}
	}

	if(b[0]==-1)
	{

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}
}
else
{
	len=1;
	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store&&i!=b[0])
		{
			b[len] = i;
			len++;
		}
	}
}
	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
//	cout<<temp;
//	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=1;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	break;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=0;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	cout<<temp;
	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(binary_search(a,a+n,b[i])==0)
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
//	cout<<temp;
//	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;
	b[0] = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i)&&i!=store)
		{
			b[0] = i;
			break;
		}
	}

	if(b[0]==-1)
	{

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}
}
else
{
	len=1;
	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store&&i!=b[0])
		{
			b[len] = i;
			len++;
		}
	}
}
	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	if(!binary_search(a,a+k,b[0]))
	{
		cout<<a[0]<<" "<<b[0]<<endl;
		m--;

		if(m==0)
		return 0;
	}
	for(int i=1;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + (n-3);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<k-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;

		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<k-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + 2*(n-3 -k+2) + (k-2);
//	cout<<temp;
//	return 0;
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store = -1;

	for(int i=1;i<=n;i++)
	{
		if(!binary_search(a,a+k,i))
		{
			store = i;
			break;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	if(m==0)
	return 0;
	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	for(int i=1;i<len;i++)
	{
		if(!binary_search(a,a+k,b[i]))
		{
			cout<<a[1]<<" "<<b[i]<<endl;
			m--;
			if(m==0)
			return 0 ;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}
	return 0;
}


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std;

int main()
{
	int n,m,k,a[1000],b[1000],len;

	cin>>n>>m>>k;

	for(int i=0;i<k;i++)
	{
		cin>>a[i];
	}

	int temp = 2 + (n-3)*(n-4)/2 + (n-3) + (n-3);
	if(m>temp)
	{
		cout<<"-1\n";
		return 0;
	}

	if(k==n)
	{
		cout<<"-1\n";
		return 0;
	}

	sort(a,a+k);

	int store =-1;

	for(int i=0;i<k;i++)
	{
		if(a[i]!=i+1)
		{
			store = i+1;
		}
	}

	if(store == -1)
	{
		store = k+1;
	}

	cout<<a[0]<<" "<<store<<endl;
	cout<<store<<" "<<a[1]<<endl;

	len = 0;

	for(int i=1;i<=n;i++)
	{
		if(i!=a[0]&&i!=a[1]&&i!=store)
		{
			b[len] = i;
			len++;
		}
	}

	if(len!=0)
	{
		cout<<a[1]<<" "<<b[0]<<endl;

		for(int i=0;i<len-1;i++)
		{
			cout<<b[i]<<" "<<b[i+1]<<endl;
		}
	}

	m = m-(n-1);

	for(int i=0;i<len;i++)
	{
		for(int j=i+2;j<len;j++)
		{
			cout<<b[i]<<" "<<b[j]<<endl;
			m--;

			if(m==0)
			return 0;
		}
	}

	for(int i=0;i<len;i++)
	{
		cout<<a[0]<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;

		cout<<store<<" "<<b[i]<<endl;
		m--;
		if(m==0)
		return 0;
	}

	return 0;
}


import java.io.*;
import java.math.*;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out,true);
		String line1=bf.readLine().replaceFirst("^0*", "");
		BigInteger x = new BigInteger(line1);
		String line2=bf.readLine().replaceFirst("^0*", "");
		BigInteger y = new BigInteger(line2);
		pw.println((line1.length()>line2.length())?">":(line1.length()<line2.length())?"<":(x.compareTo(y)==1)?">":(x.compareTo(y)==-1)?"<":"=");
	}
}


import java.io.*;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out,true);
		String line1=bf.readLine().replaceFirst("^0*", "");
		String line2=bf.readLine().replaceFirst("^0*", "");
		pw.println((line1.length()>line2.length())?">":(line1.length()<line2.length())?"<":(line1.compareTo(line2)>0)?">":(line1.compareTo(line2)<0)?"<":"=");
	}
}


import java.io.*;
import java.math.*;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out,true);
		String line1=bf.readLine();
		BigInteger x = new BigInteger(line1);
		String line2=bf.readLine();
		BigInteger y = new BigInteger(line2);
		pw.println((line1.length()>line2.length())?">":(line1.length()<line2.length())?"<":(x.compareTo(y)==1)?">":(x.compareTo(y)==-1)?"<":"=");
	}
}


import java.io.*;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out,true);
		String line1=bf.readLine().replaceFirst("^0*", "");
		String line2=bf.readLine().replaceFirst("^0*", "");
		pw.println((line1.length()>line2.length())?">":(line1.length()<line2.length())?"<":(line1.compareTo(line2)==1)?">":(line1.compareTo(line2)==-1)?"<":"=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String line1=bf.readLine();
		long x=(long)(Integer.parseInt(line1));
		String line2=bf.readLine();
		long y=(long)(Integer.parseInt(line2));
		System.out.println((x>y)?">":(x<y)?"<":"=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class ComparingTwoLongIntegers {
	public static void main(String[] args) throws IOException{
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String line1=bf.readLine();
		BigInteger x = new BigInteger(line1);
		String line2=bf.readLine();
		BigInteger y = new BigInteger(line2);
		System.out.println((x.compareTo(y)==1)?">":(x.compareTo(y)==-1)?"<":"=");
	}
}


import java.util.Scanner;

public class Compare_v3 {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {
		String b1_text = scan.nextLine();
		String b2_text = scan.nextLine();
		scan.close();
//		b1_text = remove_zeros(b1_text);
//		b2_text = remove_zeros(b2_text);

		if (b1_text.length()>b2_text.length()) {
			int longest = b1_text.length()-b2_text.length();
			b2_text = add_zeros(b2_text, longest);
		}
		if (b2_text.length()>b1_text.length())
		{
			int longest = b2_text.length()-b1_text.length();
			b1_text = add_zeros(b1_text, longest);
		}
//		System.out.println(b1_text);
//		System.out.println(b2_text);
		int res = b1_text.compareTo(b2_text);
//		System.out.println(res);
		if (res==0) {
			System.out.println("=");
		}
		if (res>0) {
			System.out.println(">");
		}
		if (res<0) {
			System.out.println("<");
		}
	}

	public static String remove_zeros(String str) {
		char zero = '0';
		while (str.charAt(0) == zero && str.length() > 1) {
			str = str.substring(1);
		}
//		str.replaceFirst("^0+(?!$)", "");
		return str;
	}
	public static String add_zeros(String str,int n)
	{
//		for (int i = 0; i < n; i++) {
//			str="0"+str;
//		}
		String repeated = new String(new char[n]).replace("\0", "0");
		return repeated+str;
	}
}


import java.lang.Character.Subset;
import java.math.BigInteger;
import java.util.Scanner;

public class Compare_v2 {
    static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        String b1_text = scan.nextLine();
        String b2_text = scan.nextLine();
        b1_text = remove_zeros(b1_text);
        b2_text = remove_zeros(b2_text);
        if (b1_text.length() > b2_text.length()) {
            System.out.println(">");
        } else {
            if (b1_text.length() < b2_text.length()) {
                System.out.println("<");
            } else {
                BigInteger b1 = new BigInteger(b1_text);
                BigInteger b2 = new BigInteger(b2_text);
                scan.close();
//              System.out.println(b1);
//              System.out.println(b2);

                int comparevalue = b1.compareTo(b2);
                if (comparevalue == 0) {
                    System.out.println("=");
                } else if (comparevalue == 1) {
                    System.out.println(">");
                } else {
                    System.out.println("<");
                }
            }
        }

    }

    public static String remove_zeros(String str) {
        char zero = '0';
        while (str.charAt(0) == zero&&str.length()>1) {
            str = str.substring(1);
        }
        return str;
    }
}


import java.util.Scanner;

public class Compare_v3 {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {
		String b1_text = scan.nextLine();
		String b2_text = scan.nextLine();
		scan.close();
		b1_text = remove_zeros(b1_text);
		b2_text = remove_zeros(b2_text);

		if (b1_text.length()>b2_text.length()) {
			int longest = b1_text.length()-b2_text.length();
			b2_text = add_zeros(b2_text, longest);
		}
		if (b2_text.length()>b1_text.length())
		{
			int longest = b2_text.length()-b1_text.length();
			b1_text = add_zeros(b1_text, longest);
		}
//		System.out.println(b1_text);
//		System.out.println(b2_text);
		int res = b1_text.compareTo(b2_text);
//		System.out.println(res);
		if (res==0) {
			System.out.println("=");
		}
		if (res>0) {
			System.out.println(">");
		}
		if (res<0) {
			System.out.println("<");
		}
	}

	public static String remove_zeros(String str) {
		char zero = '0';
		while (str.charAt(0) == zero && str.length() > 1) {
			str = str.substring(1);
		}
		return str;
	}
	public static String add_zeros(String str,int n)
	{
		for (int i = 0; i < n; i++) {
			str="0"+str;
		}
		return str;
	}
}


import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.math.BigInteger;
import java.util.ArrayList;

public class Compare {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {

		BigInteger[][] nums = big_int_scanner(2, 1);
//		for (int i = 0; i < nums.length; i++) {
//			System.out.println(Arrays.toString(nums[i]));
//		}
//		System.out.println(nums[0][0]);
//		System.out.println(nums[1][0]);
		int comparevalue = nums[0][0].compareTo(nums[1][0]);
		if (comparevalue==1) {
			System.out.println(">");
		}
		else {
			if (comparevalue==0) {
				System.out.println("=");
			}
			else {
				System.out.println("<");
			}
		}
	}

	public static int[][] number_scanner(int rows, int cols) {
//		Scanner scan = new Scanner(System.in);
		String[][] input = new String[rows][cols];
		for (int i = 0; i < rows; i++) {
			input[i] = scan.nextLine().split(" ");
		}

		int[][] res = new int[rows][cols];
		for (int i = 0; i < input.length; i++) {
			for (int j = 0; j < input[i].length; j++) {
				res[i][j] = Integer.parseInt(input[i][j]);
			}
		}
//		System.out.println(Arrays.toString(res));
		return res;
	}
	public static BigInteger[][] big_int_scanner(int rows, int cols) {
//		Scanner scan = new Scanner(System.in);
		String[][] input = new String[rows][cols];
		for (int i = 0; i < rows; i++) {
			input[i] = scan.nextLine().split(" ");
		}

		BigInteger[][] res = new BigInteger[rows][cols];
		for (int i = 0; i < input.length; i++) {
			for (int j = 0; j < input[i].length; j++) {
				res[i][j] = new BigInteger(input[i][j]);
			}
		}
//		System.out.println(Arrays.toString(res));
		return res;
	}

	public static String[][] text_scanner(int rows, int cols) {
//		Scanner sc = new Scanner(System.in);
		String[][] input = new String[rows][cols];
		for (int i = 0; i < rows; i++) {
			if (scan.hasNextLine()) {
				input[i] = scan.nextLine().split(" ");
			}
		}
//		scan.close();
		return input;
	}

	public static ArrayList<ArrayList<Object>> obj_scanner(int rows, int cols) {
		Scanner sc = new Scanner(System.in);
		ArrayList<ArrayList<Object>> input = new ArrayList<ArrayList<Object>>();
		for (int i = 0; i < rows; i++) {
			input.add(new ArrayList<Object>(Arrays.asList(sc.nextLine().split(" "))));
		}
		return input;
	}

	public static Integer[] remove_duplicates(Integer[] in) throws CloneNotSupportedException {
		LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(Arrays.asList(in));
		Integer[] numbersWithoutDuplicates = linkedHashSet.toArray(new Integer[] {});
		return numbersWithoutDuplicates;
	}
}


import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.ArrayList;

public class Compare {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {

		int[][] nums = number_scanner(2, 1);
//		for (int i = 0; i < nums.length; i++) {
//			System.out.println(Arrays.toString(nums[i]));
//		}
		// System.out.println(nums[0][0]);
		// System.out.println(nums[1][0]);
		if (nums[0][0]>nums[1][0]) {
			System.out.println(">");
		}
		else {
			if (nums[0][0]==nums[1][0]) {
				System.out.println("=");
			}
			else {
				System.out.println("<");
			}
		}
	}

	public static int[][] number_scanner(int rows, int cols) {
//		Scanner scan = new Scanner(System.in);
		String[][] input = new String[rows][cols];
		for (int i = 0; i < rows; i++) {
			input[i] = scan.nextLine().split(" ");
		}

		int[][] res = new int[rows][cols];
		for (int i = 0; i < input.length; i++) {
			for (int j = 0; j < input[i].length; j++) {
				res[i][j] = Integer.parseInt(input[i][j]);
			}
		}
//		System.out.println(Arrays.toString(res));
		return res;
	}

	public static String[][] text_scanner(int rows, int cols) {
//		Scanner sc = new Scanner(System.in);
		String[][] input = new String[rows][cols];
		for (int i = 0; i < rows; i++) {
			if (scan.hasNextLine()) {
				input[i] = scan.nextLine().split(" ");
			}
		}
//		scan.close();
		return input;
	}

	public static ArrayList<ArrayList<Object>> obj_scanner(int rows, int cols) {
		Scanner sc = new Scanner(System.in);
		ArrayList<ArrayList<Object>> input = new ArrayList<ArrayList<Object>>();
		for (int i = 0; i < rows; i++) {
			input.add(new ArrayList<Object>(Arrays.asList(sc.nextLine().split(" "))));
		}
		return input;
	}

	public static Integer[] remove_duplicates(Integer[] in) throws CloneNotSupportedException {
		LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(Arrays.asList(in));
		Integer[] numbersWithoutDuplicates = linkedHashSet.toArray(new Integer[] {});
		return numbersWithoutDuplicates;
	}
}


import java.math.BigInteger;
import java.util.Scanner;

public class Compare_v2 {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {

		BigInteger b1 = new BigInteger(scan.nextLine());
		BigInteger b2= new BigInteger(scan.nextLine());
		scan.close();
//		System.out.println(b1);
//		System.out.println(b2);

        int comparevalue = b1.compareTo(b2);

        if (comparevalue == 0) {

            System.out.println("=");
        }
        else if (comparevalue == 1) {

            System.out.println(">");
        }
        else {

            System.out.println("<");
        }

	}
}


import java.util.Scanner;

public class Compare_v3 {
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {
		String b1_text = scan.nextLine();
		String b2_text = scan.nextLine();
		b1_text = remove_zeros(b1_text);
		b2_text = remove_zeros(b2_text);
		int res = b1_text.compareTo(b2_text);
		switch (res) {
		case 1:
			System.out.println(">");
			break;
		case 0:
			System.out.println("=");
			break;
		case -1:
			System.out.println("<");
			break;
		}
	}

	public static String remove_zeros(String str) {
		char zero = '0';
		while (str.charAt(0) == zero && str.length() > 1) {
			str = str.substring(1);
		}
		return str;
	}
}


import java.lang.Character.Subset;
import java.math.BigInteger;
import java.util.Scanner;

public class Compare_v2 {
    static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        String b1_text = scan.nextLine();
        String b2_text = scan.nextLine();
        b1_text = remove_zeros(b1_text);
        b2_text = remove_zeros(b2_text);
        if (b1_text.length() > b2_text.length()) {
            System.out.println(">");
        } else {
            if (b1_text.length() < b2_text.length()) {
                System.out.println("<");
            } else {
                BigInteger b1 = new BigInteger(b1_text);
                BigInteger b2 = new BigInteger(b2_text);
                scan.close();
//              System.out.println(b1);
//              System.out.println(b2);

                int comparevalue = b1.compareTo(b2);
                if (comparevalue == 0) {
                    System.out.println("=");
                } else if (comparevalue == 1) {
                    System.out.println(">");
                } else {
                    System.out.println("<");
                }
            }
        }

    }

    public static String remove_zeros(String str) {
        char zero = '0';
        while (str.charAt(0) == zero) {
            str = str.substring(1);
        }
        return str;
    }
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test1 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out);

		String s1 = br.readLine();
		String s2 = br.readLine();
		int compare = compareStringInteger(s1, s2);
		pw.printf("%c\n", compare == 0 ? '=' : (compare > 0 ? '>' : '<'));
		pw.close();
	}

	public static int compareStringInteger(String s1, String s2) {
		int len1 = s1.length();
		int len2 = s2.length();

		int start1 = 0;
		while (s1.charAt(start1) == '0')
			start1++;
		len1 -= start1;

		int start2 = 0;
		while (s2.charAt(start2) == '0')
			start2++;
		len2 -= start2;

		if (len1 != len2) {
			return len1 - len2;
		}

		for (int i = 0; i < len1; i++) {
			char c1 = s1.charAt(start1 + i);
			char c2 = s2.charAt(start2 + i);

			if (c1 != c2) {
				return c1 < c2 ? -1 : 1;
			}
		}
		return 0;
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class P616A_Comparing2LongIntegers {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out);

		String s1 = br.readLine();
		String s2 = br.readLine();
		int compare = compareStringInteger(s1, s2);
		pw.printf("%c\n", compare == 0 ? '=' : (compare > 0 ? '>' : '<'));
		pw.close();
	}

	public static int compareStringInteger(String s1, String s2) {
		int len1 = s1.length();
		int len2 = s2.length();

		int start1 = 0;
		while (start1 < len1 && s1.charAt(start1) == '0')
			start1++;
		len1 -= start1;

		int start2 = 0;
		while (start2 < len2 && s2.charAt(start2) == '0')
			start2++;
		len2 -= start2;

		if (len1 != len2) {
			return len1 - len2;
		}

		for (int i = 0; i < len1; i++) {
			char c1 = s1.charAt(start1 + i);
			char c2 = s2.charAt(start2 + i);

			if (c1 != c2) {
				return c1 < c2 ? -1 : 1;
			}
		}
		return 0;
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test1 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out);

		int compare = compareStringInteger(br.readLine(), br.readLine());
		pw.printf("%c\n", compare == 0 ? '=' : compare > 0 ? '>' : '<');
		pw.close();
	}

	public static int compareStringInteger(String s1, String s2) {
		int len1 = s1.length();
		int len2 = s2.length();

		int start1 = 0;
		while (s1.charAt(start1) == '\0')
			start1++;
		len1 -= start1;

		int start2 = 0;
		while (s2.charAt(start2) == '\0')
			start2++;
		len2 -= start2;

		if (len1 != len2) {
			return len1 - len2;
		}

		for (int i = 0; i < len1; i++) {
			if (s1.charAt(start1 + i) != s2.charAt(start2 + i)) {
				return s1.charAt(start1 + i) - s2.charAt(start2 + i);
			}
		}
		return 0;
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test1 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out);

		String s1 = br.readLine();
		String s2 = br.readLine();
		int compare = compareStringInteger(s1, s2);
		pw.printf("%c\n", compare == 0 ? '=' : (compare > 0 ? '>' : '<'));
		pw.close();
	}

	public static int compareStringInteger(String s1, String s2) {
		int len1 = s1.length();
		int len2 = s2.length();

		int start1 = 0;
		while (start1 < len1 && s1.charAt(start1) == '0')
			start1++;
		len1 -= start1;

		int start2 = 0;
		while (start2 < len2 && s2.charAt(start2) == '0')
			start2++;
		len2 -= start2;

		if (len1 != len2) {
			return len1 - len2;
		}

		for (int i = 0; i < len1; i++) {
			char c1 = s1.charAt(start1 + i);
			char c2 = s2.charAt(start2 + i);

			if (c1 != c2) {
				return c1 < c2 ? -1 : 1;
			}
		}
		return 0;
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Test1 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter pw = new PrintWriter(System.out);

		int compare = compareStringInteger(br.readLine(), br.readLine());
		pw.printf("%c\n", compare == 0 ? '=' : compare > 0 ? '>' : '<');
		pw.close();
	}

	public static int compareStringInteger(String s1, String s2) {
		int len1 = s1.length();
		int len2 = s2.length();

		int start1 = 0;
		while (s1.charAt(start1) == '0')
			start1++;
		len1 -= start1;

		int start2 = 0;
		while (s2.charAt(start2) == '0')
			start2++;
		len2 -= start2;

		if (len1 != len2) {
			return len1 - len2;
		}

		for (int i = 0; i < len1; i++) {
			if (s1.charAt(start1 + i) != s2.charAt(start2 + i)) {
				return s1.charAt(start1 + i) - s2.charAt(start2 + i);
			}
		}
		return 0;
	}
}


import java.util.*;
import java.lang.*;
public class JavaApplication2 {
    public static void main(String args[]) {
      Scanner read = new Scanner(System.in);
      String a = read.nextLine();
      String b = read.nextLine();
      int k = 0;
      for(int i = 0; i<a.length(); i++){
          if(a.charAt(i) != '0'){
              k = i;
              break;
          }
      }
      a = a.substring(k, a.length());
      int l = 0;
      for(int i = 0; i<b.length(); i++){
          if(b.charAt(i) != '0'){
              l = i;
              break;
          }
      }
      b = b.substring(l, b.length());
      if(a.length()>b.length()){
          System.out.println(">");
          return;
      }
      else if(a.length()<b.length()){
          System.out.println("<");
          return;
      }
      else{
          for(int i = 0; i<a.length(); i++){
              if(a.charAt(i)>b.charAt(i)){
                  System.out.println(">");
                  return;
              }
              else if(a.charAt(i)<b.charAt(i)){
                  System.out.println("<");
                  return;
              }
          }
      }
      System.out.println("=");
    }
}


import java.util.*;
import java.lang.*;
public class JavaApplication2 {
    public static void main(String args[]) {
      Scanner read = new Scanner(System.in);
      String a = read.nextLine();
      String b = read.nextLine();
      int k = 0;
      for(int i = 0; i<a.length(); i++){
          if(a.charAt(i) != '0'){
              k = i;
              break;
          }
          else if (i == a.length() - 1){
              k = i;
          }
      }
      a = a.substring(k, a.length());
      int l = 0;
      for(int i = 0; i<b.length(); i++){
          if(b.charAt(i) != '0'){
              l = i;
              break;
          }
          else if (i == b.length() - 1){
              l = i;
          }
      }
      b = b.substring(l, b.length());
      if(a.length()>b.length()){
          System.out.println(">");
      }
      else if(a.length()<b.length()){
          System.out.println("<");
      }
      else{
          if(a.compareTo(b)>0){
              System.out.println(">");
          }
          else if(a.compareTo(b)<0){
              System.out.println("<");
          }
          else{
              System.out.println("=");
          }
      }
    }
}


import java.util.*;
import java.lang.*;
public class JavaApplication2 {
    public static void main(String args[]) {
      Scanner read = new Scanner(System.in);
      String a = read.nextLine();
      String b = read.nextLine();
      for(int i = 0; i<a.length(); i++){
          if(a.charAt(i) == '0'){
              a = a.substring(i+1, a.length());
              i--;
          }
          else{
              break;
          }
      }
      for(int i = 0; i<b.length(); i++){
          if(b.charAt(i) == '0'){
              b = b.substring(i+1, b.length());
              i--;
          }
          else{
              break;
          }
      }
      if(a.length()>b.length()){
          System.out.println(">");
          return;
      }
      else if(a.length()<b.length()){
          System.out.println("<");
          return;
      }
      else{
          for(int i = 0; i<a.length(); i++){
              if(a.charAt(i)>b.charAt(i)){
                  System.out.println(">");
                  return;
              }
              else if(a.charAt(i)<b.charAt(i)){
                  System.out.println("<");
                  return;
              }
          }
      }
      System.out.println("=");
    }
}


import java.util.*;
import java.lang.*;
public class JavaApplication2 {
    public static void main(String args[]) {
      Scanner read = new Scanner(System.in);
      String a = read.nextLine();
      String b = read.nextLine();
      int k = 0;
      for(int i = 0; i<a.length(); i++){
          if(a.charAt(i) != '0'){
              k = i;
              break;
          }
          else if (i == a.length() - 1){
              k = i;
          }
      }
      a = a.substring(k, a.length());
      int l = 0;
      for(int i = 0; i<b.length(); i++){
          if(b.charAt(i) != '0'){
              l = i;
              break;
          }
          else if (i == b.length() - 1){
              l = i;
          }
      }
      b = b.substring(l, b.length());
      if(a.length()>b.length()){
          System.out.println(">");
          return;
      }
      else if(a.length()<b.length()){
          System.out.println("<");
          return;
      }
      else{
          for(int i = 0; i<a.length(); i++){
              if(a.charAt(i)>b.charAt(i)){
                  System.out.println(">");
                  return;
              }
              else if(a.charAt(i)<b.charAt(i)){
                  System.out.println("<");
                  return;
              }
          }
      }
      System.out.println("=");
    }
}


import java.io.*;
public class CONTESTO{
	public static String trimmer(String S){
		int c = 0;
		for(int i = 0;i<S.length();i++)
			if(S.charAt(i)=='0')
				c++;
			else
				break;
		return S.substring(c);
	}
	public static void main(String[]args)throws IOException{
		BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
		String a = trimmer(inp.readLine());
		String b = trimmer(inp.readLine());
		if(a.length()<b.length())
			System.out.print("<");
		else if(a.length()>b.length())
			System.out.print(">");
		else{
			for(int i = 0; i < a.length();i++){
				if(Integer.parseInt(""+a.charAt(i))>Integer.parseInt(""+b.charAt(i))){
					System.out.print(">");return;}
				else if(Integer.parseInt(""+a.charAt(i))<Integer.parseInt(""+b.charAt(i))){
					System.out.print("<");return;}
			}
			System.out.print("=");

}}}

/*for(int i = 0; i < a.length();i++)
			if(a.charAt(i)>b.charAt(i)){
				System.out.print(">"); return;}
			else if(a.charAt(i)<b.charAt(i)){
				System.out.print("<");return;}
		System.out.print("=");*/


import java.io.*;
public class CONTESTO{
	public static void main(String[]args)throws IOException{
		BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
		String a = inp.readLine();
		String b = inp.readLine();
		if(a.length()!=b.length())
			if(a.length()<b.length())
				while(a.length()<b.length())
					a = "0"+a;
			else
				while(a.length()>b.length())
					b = "0"+b;

		for(int i = 0; i < a.length();i++)
			if(a.charAt(i)>b.charAt(i)){
				System.out.print(">"); return;}
			else if(a.charAt(i)<b.charAt(i)){
				System.out.print("<");return;}
		System.out.print("=");

}}


import java.io.*;
public class CONTESTO{
	public static String trimmer(String S){
		int c = 0;
		for(int i = 0;i<S.length();i++)
			if(S.charAt(i)=='0')
				c++;
		return S.substring(c);
	}
	public static void main(String[]args)throws IOException{
		BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
		String a = trimmer(inp.readLine());
		String b = trimmer(inp.readLine());
		if(a.length()<b.length())
			System.out.print("<");
		else if(a.length()>b.length())
			System.out.print(">");
		else{
			for(int i = 0; i < a.length();i++){
				if(Integer.parseInt(""+a.charAt(i))>Integer.parseInt(""+b.charAt(i))){
					System.out.print(">");return;}
				else if(Integer.parseInt(""+a.charAt(i))<Integer.parseInt(""+b.charAt(i))){
					System.out.print("<");return;

			}}System.out.print("=");

}}}

/*for(int i = 0; i < a.length();i++)
			if(a.charAt(i)>b.charAt(i)){
				System.out.print(">"); return;}
			else if(a.charAt(i)<b.charAt(i)){
				System.out.print("<");return;}
		System.out.print("=");*/


import java.io.*;
public class CONTESTO{
	public static void main(String[]args)throws IOException{
		BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
		String a = inp.readLine();
		String b = inp.readLine();
		if(a.length()!=b.length())
			if(a.length()<b.length())
				while(a.length()<b.length())
					a = "0"+a;
			else
				while(a.length()>b.length())
					b = "0"+b;
		if(a.compareTo(b)==0)
			System.out.print("=");
		else if(a.compareTo(b)>0)
			System.out.print(">");
		else
			System.out.print("<");

}}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class ABC {

	public static void main(String[] args) throws IOException{

		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		String s1 = sc.nextLine(), s2 = sc.nextLine();
		BigInteger b1 = new BigInteger(s1), b2 = new BigInteger(s2);
		pw.println(b1.compareTo(b2) > 0? ">" : b1.compareTo(b2) < 0? "<" : "=");
		pw.flush();
		pw.close();
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {

			br = new BufferedReader(new InputStreamReader(s));

		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public String nextLine() throws IOException {
			return br.readLine();
		}

		public boolean ready() throws IOException {
			return br.ready();
		}
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class ABC {

	public static void main(String[] args) throws IOException{

		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		String s1 = sc.nextLine(), s2 = sc.nextLine();
		s1 = remove0s(s1); s2 = remove0s(s2);
		if(s1.length() > s2.length())
			pw.println(">");
		else if(s1.length() < s2.length())
			pw.println("<");
		else
		{
			boolean found = false;
			for (int i = 0; i < s1.length(); i++) {
				if(s1.charAt(i) > s2.charAt(i))
				{
					found = true;
					pw.println(">");
				}
				else if(s2.charAt(i) > s1.charAt(i))
				{
					found = true;
					pw.println("<");
				}
			}
			if(!found)
				pw.println("=");
		}
		pw.flush(); pw.close();

	}

	static String remove0s(String s)
	{
		for (int i = 0; i < s.length(); i++)
			if(s.charAt(i) != '0')
				return s.substring(i);

		return "0";
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {

			br = new BufferedReader(new InputStreamReader(s));

		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public String nextLine() throws IOException {
			return br.readLine();
		}

		public boolean ready() throws IOException {
			return br.ready();
		}
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class ABC {

	public static void main(String[] args) throws IOException{

		Scanner sc = new Scanner(System.in);
		String s1 = sc.nextLine(), s2 = sc.nextLine();
		BigInteger b1 = new BigInteger(s1), b2 = new BigInteger(s2);
		System.out.println(b1.compareTo(b2) > 0? ">" : b1.compareTo(b2) < 0? "<" : "=");
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {

			br = new BufferedReader(new InputStreamReader(s));

		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public String nextLine() throws IOException {
			return br.readLine();
		}

		public boolean ready() throws IOException {
			return br.ready();
		}
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class ABC {

	public static void main(String[] args) throws IOException{

		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		String s1 = sc.nextLine(), s2 = sc.nextLine();
		BigInteger b1 = new BigInteger(s1), b2 = new BigInteger(s2);
		pw.println(b1.compareTo(b2) > 0? ">" : b1.compareTo(b2) < 0? "<" : "=");
		pw.flush();
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {

			br = new BufferedReader(new InputStreamReader(s));

		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public String nextLine() throws IOException {
			return br.readLine();
		}

		public boolean ready() throws IOException {
			return br.ready();
		}
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class ABC {

	public static void main(String[] args) throws IOException{

		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		String s1 = sc.nextLine(), s2 = sc.nextLine();
		s1 = remove0s(s1); s2 = remove0s(s2);
		if(s1.length() > s2.length())
			pw.println(">");
		else if(s1.length() < s2.length())
			pw.println("<");
		else
		{
			boolean found = false;
			for (int i = 0; i < s1.length(); i++) {
				if(s1.charAt(i) > s2.charAt(i))
				{
					found = true;
					pw.println(">");
					break;
				}
				else if(s2.charAt(i) > s1.charAt(i))
				{
					found = true;
					pw.println("<");
					break;
				}
			}
			if(!found)
				pw.println("=");
		}
		pw.flush(); pw.close();

	}

	static String remove0s(String s)
	{
		for (int i = 0; i < s.length(); i++)
			if(s.charAt(i) != '0')
				return s.substring(i);

		return "0";
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {

			br = new BufferedReader(new InputStreamReader(s));

		}

		public String next() throws IOException {
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

		public long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public String nextLine() throws IOException {
			return br.readLine();
		}

		public boolean ready() throws IOException {
			return br.ready();
		}
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BigInteger a=new BigInteger(br.readLine());
		BigInteger b=new BigInteger(br.readLine());
		int result=a.compareTo(b);
		if(result==1)
			System.out.println(">");
		else
			if(result==-1)
				System.out.println("<");
			else
				System.out.println("=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BigInteger a=new BigInteger(br.readLine());
		BigInteger b=new BigInteger(br.readLine());
		String x=""+a;
		String y=""+b;
		if(x.length()>y.length())
			System.out.println(">");
		else
			if(y.length()>x.length())
				System.out.println("<");
			else
				if(x.compareTo(y)>0)
					System.out.println(">");
				else
					if(x.compareTo(y)<0)
						System.out.println("<");
					else
						System.out.println("=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String x=br.readLine();
		String y=br.readLine();
		BigInteger a=new BigInteger(x);
		BigInteger b=new BigInteger(y);
		int compare=a.compareTo(b);
		if(compare==-1)
			System.out.println("<");
		else
			if(compare==1)
				System.out.println(">");
			else
				System.out.println("=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String x=br.readLine();
		String y=br.readLine();
		int i=0;
		int j=0;
		for(int k=0;x.charAt(k)=='0';k++)i++;
		for(int l=0;y.charAt(l)=='0';l++)j++;
		if(x.length()-i>y.length()-j)
			System.out.println(">");
		else
			if(y.length()-j>x.length()-i)
				System.out.println("<");
			else
				if(x.substring(i).compareTo(y.substring(j))>0)
					System.out.println(">");
				else
					if(x.substring(i).compareTo(y.substring(j))<0)
						System.out.println("<");
					else
						System.out.println("=");
}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String x=br.readLine();
		String y=br.readLine();
		BigInteger a=new BigInteger(x);
		BigInteger b=new BigInteger(y);
		x=""+a;
		y=""+b;
		if(x.length()>y.length())
			System.out.println(">");
		else{
			if(y.length()>x.length())
				System.out.println("<");
			else{
				for(int i=0;i<x.length();i++){
					String X=""+x.charAt(i);
					String Y=""+y.charAt(i);
					if(Integer.parseInt(X)> Integer.parseInt(Y)){
						System.out.println(">");
						break;
				}
					else{
						if(Integer.parseInt(Y)> Integer.parseInt(X)){
							System.out.println("<");
							break;
						}
				}
					if(i==x.length()-1)
						System.out.println("=");
				}

		}
	}

}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BigInteger a=new BigInteger(br.readLine());
		BigInteger b=new BigInteger(br.readLine());
		int result=a.compareTo(b);
		if(result==1)
			System.out.println(">");
		else
			if(result==-1)
				System.out.println("<");
			else
				System.out.println("=");


public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BigInteger a=new BigInteger(br.readLine());
		BigInteger b=new BigInteger(br.readLine());
		String x=""+a;
		String y=""+b;
		if(x.length()>y.length())
			System.out.println(">");
		else
			if(y.length()>x.length())
				System.out.println("<");
			else
				if(x.compareTo(y)>0)
					System.out.println(">");
				else
					if(x.compareTo(y)<0)
						System.out.println("<");
					else
						System.out.println("=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int a=Integer.parseInt(br.readLine());
		int b=Integer.parseInt(br.readLine());
		if(a<b)
			System.out.println("<");
		else
			if(a>b)
				System.out.println(">");
			else
				System.out.println("=");
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BigInteger a=new BigInteger(br.readLine());
		BigInteger b=new BigInteger(br.readLine());
		String x=""+a;
		String y=""+b;
		if(x.length()>y.length())
			System.out.println(">");
		else{
			if(y.length()>x.length())
				System.out.println("<");
			else{
				for(int i=0;i<x.length();i++){
					String X=""+x.charAt(i);
					String Y=""+y.charAt(i);
					if(Integer.parseInt(X)> Integer.parseInt(Y)){
						System.out.println(">");
						break;
				}
					else{
						if(Integer.parseInt(Y)> Integer.parseInt(X)){
							System.out.println("<");
							break;
						}
				}
					if(i==x.length()-1)
						System.out.println("=");
				}

		}
	}

}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String x=br.readLine();
		String y=br.readLine();
		int i=0;
		int j=0;
		for(int k=0;k<x.length() && x.charAt(k)=='0';k++)i++;
		for(int l=0;l<y.length() && y.charAt(l)=='0';l++)j++;
		if(x.length()-i>y.length()-j)
			System.out.println(">");
		else
			if(y.length()-j>x.length()-i)
				System.out.println("<");
			else
				if(x.substring(i).compareTo(y.substring(j))>0)
					System.out.println(">");
				else
					if(x.substring(i).compareTo(y.substring(j))<0)
						System.out.println("<");
					else
						System.out.println("=");
}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class A616 {
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String x=br.readLine();
		String y=br.readLine();
		BigInteger a=new BigInteger(x);
		BigInteger b=new BigInteger(y);
		x=""+a;
		y=""+b;
		if(x.length()>y.length())
			System.out.println(">");
		else{
			if(y.length()>x.length())
				System.out.println("<");
			else{
				for(int i=0;i<x.length();i++){
					String X=""+x.charAt(i);
					String Y=""+y.charAt(i);
					if(Integer.parseInt(X)> Integer.parseInt(Y)){
						System.out.println(">");
						break;
				}
					else{
						if(Integer.parseInt(Y)> Integer.parseInt(X)){
							System.out.println("<");
							break;
						}
				}
				}
		}
	}
}
}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length()-1);
                break;
            }
            i++;
        }

        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(i) != '0') {
                firstB = Character.getNumericValue(b.charAt(i));
                b = b.substring(j, b.length()-1);
                break;
            }
            j++;
        }

        if (a == b && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length());
                break;
            }
            i++;
        }
        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(j) != '0') {
                firstB = Character.getNumericValue(b.charAt(j));
                b = b.substring(j, b.length());
                break;
            }
            j++;
        }

        if (a.equals(b) && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        } else {
            i = 0;
            // System.out.println(a.length());
            while (i < a.length()) {
                if ((a.charAt(i) - '0') < (b.charAt(i) - '0')) {
                    System.out.println("<");
                    break;
                } else if ((a.charAt(i) - '0') > (b.charAt(i) - '0')) {
                    System.out.println(">");
                    break;
                }
                i++;
            }
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = Integer.parseInt(sc.next());
        int b = Integer.parseInt(sc.next());

        if (a > b) {
            System.out.println(">");
        } else if (a < b) {
            System.out.println("<");
        } else {
            System.out.println("=");
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length());
                break;
            }
            i++;
        }
        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(i) != '0') {
                firstB = Character.getNumericValue(b.charAt(i));
                b = b.substring(j, b.length());
                break;
            }
            j++;
        }

        if (a.equals(b) && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        } else {
            i = 0;
            // System.out.println(a.length());
            while (i < a.length()) {
                if ((a.charAt(i) - '0') < (b.charAt(i) - '0')) {
                    System.out.println("<");
                    break;
                } else if ((a.charAt(i) - '0') > (b.charAt(i) - '0')) {
                    System.out.println(">");
                    break;
                }
                i++;
            }
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length());
                break;
            }
            i++;
        }
        if (firstA == 0) {
            a = "0";
        }
        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(j) != '0') {
                firstB = Character.getNumericValue(b.charAt(j));
                b = b.substring(j, b.length());
                break;
            }
            j++;
        }
        if (firstB == 0) {
            b = "0";
        }
        if (a.equals(b) && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        } else {
            i = 0;
            // System.out.println(a.length());
            while (i < a.length()) {
                if ((a.charAt(i) - '0') < (b.charAt(i) - '0')) {
                    System.out.println("<");
                    break;
                } else if ((a.charAt(i) - '0') > (b.charAt(i) - '0')) {
                    System.out.println(">");
                    break;
                }
                i++;
            }
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length());
                break;
            }
            i++;
        }

        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(i) != '0') {
                firstB = Character.getNumericValue(b.charAt(i));
                b = b.substring(j, b.length());
                break;
            }
            j++;
        }

        if (a == b && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        } else {
            i = 0;
            // System.out.println(a.length());
            while (i < a.length()) {
                if ((a.charAt(i) - '0') < (b.charAt(i) - '0')) {
                    System.out.println("<");
                    break;
                } else if ((a.charAt(i) - '0') > (b.charAt(i) - '0')) {
                    System.out.println(">");
                    break;
                }
                i++;
            }
        }
    }

}


import java.util.*;
import java.util.regex.*;
import java.lang.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        int i = 0, j = 0;
        int firstA = 0;
        while (i < a.length()) {
            if (a.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                a = a.substring(i, a.length()-1);
                break;
            }
            i++;
        }

        int firstB = 0;
        while (j < b.length()) {
            if (b.charAt(i) != '0') {
                firstA = Character.getNumericValue(a.charAt(i));
                b = b.substring(j, b.length()-1);
                break;
            }
            j++;
        }

        if (a == b && a.length() == b.length()) {
            System.out.println("=");
        } else if (a.length() > b.length()) {
            System.out.println(">");
        } else if (a.length() < b.length()) {
            System.out.println("<");
        } else if (a.length() == b.length() && firstA > firstB) {
            System.out.println(">");
        } else if (a.length() == b.length() && firstA < firstB) {
            System.out.println("<");
        }
    }

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		while (true)
		{
			if (s.charAt(0)=='0')
			{
				s=s.substring(1);
			}else
			{
				return s;
			}
		}
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{	String r ="";
		for(int i=0;i<s.length();i++)
		{
			if (r.length()==0&&s.charAt(i)=='0')
			{

			}else
			{
				r=r+s.charAt(i);
			}
		}
		return r;
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		while (true)
		{	if (s.charAt(0)=='0'&&s.length()==1)
			{
				return "0";
			}
			else if (s.charAt(0)=='0')
			{
				s=s.substring(1);
			}else
			{
				return s;
			}

		}
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		while (true)
		{	if (s.charAt(0)=='0'&&s.length()==1)
			{
				return "0";
			}
			else if (s.charAt(0)=='0')
			{
				s=s.substring(1);
			}else
			{
				return s;
			}
			if (s.length()>7&&s.charAt(0)=='0'&&s.charAt(1)=='0'&&s.charAt(2)=='0'&&s.charAt(3)=='0'&&s.charAt(4)=='0'&&s.charAt(5)=='0')
			{
				s=s.substring(6);
			}

		}
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		if (s.charAt(0)=='0')
		{
			for(int i = 0;i<s.length();i++)
			{
				if (s.charAt(i)!='0')
				{
					return s.substring(i);
				}
				if (i==s.length()-1)
				{
					return "0";
				}
			}
		}
		else
		{
			return s;
		}
		return s;
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		while (true)
		{	if (s.charAt(0)=='0'&&s.length()==1)
			{
				return "0";
			}else if (s.charAt(0)=='0'&&s.charAt(1)=='0'&&s.charAt(2)=='0'&&s.charAt(3)=='0'&&s.charAt(4)=='0'&&s.charAt(5)=='0')
			{
				s=s.substring(6);
			}
			else if (s.charAt(0)=='0')
			{
				s=s.substring(1);
			}else
			{
				return s;
			}

		}
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		Scanner read = new Scanner(System.in);

		String s = read.next();
		String r = read.next();
		System.out.println(compare(nolead(s), nolead(r)));

	}

	public static String nolead(String s)
	{
		while (true)
		{	if (s.charAt(0)=='0'&&s.length()==1)
			{
				return "0";
			}
			else if (s.charAt(0)=='0')
			{
				s=s.substring(1);
			}else
			{
				return s;
			}
			if (s.length()>12&&s.charAt(0)=='0'&&s.charAt(1)=='0'&&s.charAt(2)=='0'&&s.charAt(3)=='0'&&s.charAt(4)=='0'&&s.charAt(5)=='0'&&s.charAt(6)=='0'&&s.charAt(7)=='0'&&s.charAt(8)=='0'&&s.charAt(9)=='0'&&s.charAt(4)=='0'&&s.charAt(10)=='0')
			{
				s=s.substring(11);
				System.out.println("done");
			}

		}
	}
	public static char compare(String s,String r)
	{	if (s.length()>r.length())
		{
			return '>';
		}
		else if (r.length()>s.length())
		{
			return '<';
		}else
		{
			for (int i = 0 ;i<s.length();i++)
			{
				if (s.charAt(i)>r.charAt(i))
				{
					return'>';
				}
				else if ((s.charAt(i)<r.charAt(i)))
				{
					return '<' ;
				}
			}
			return '=';
		}

	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.BufferedOutputStream;
import java.io.OutputStream;
import java.math.BigInteger;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
//....................................
public class scorify {
    //................................................................................
    public static void main(String[] args) throws IOException{
        //OutputStream out = new BufferedOutputStream ( System.out );
        //PrintWriter printWriter = new PrintWriter (System.out);
        BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        //StringTokenizer st = new StringTokenizer(sc.readLine());
        BigInteger  a = new  BigInteger (sc.readLine());
        BigInteger  b = new BigInteger (sc.readLine());
        int res = a.compareTo(b);
        if(res==-1) log.write("<");
        else if(res==1)  log.write (">");
        else log.write ("=");

    //...................................................................................
        //printWriter.close ();
        //out.flush();
        log.flush();
        sc.close();
    }
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.BufferedOutputStream;
import java.io.OutputStream;
import java.math.BigInteger;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.OutputStreamWriter;
//....................................
public class scorify {
    //........................................................................
    static class InputReader {

        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

    }
    //................................................................................
    public static void main(String[] args) throws IOException{
        OutputStream out = new BufferedOutputStream ( System.out );
        //PrintWriter printWriter = new PrintWriter (System.out);
        //BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));
        InputStream inputStream = System.in;
        InputReader sc = new InputReader(inputStream);
        //BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        //StringTokenizer st = new StringTokenizer(sc.readLine());
        BigInteger  a = new  BigInteger (sc.next());
        BigInteger  b = new BigInteger (sc.next());
        int res = a.compareTo(b);
        if(res==-1)  out.write(("<").getBytes());
        else if(res==1)  out.write((">").getBytes());
        else out.write(("=").getBytes());

    //...................................................................................
        //printWriter.close ();
        out.flush();
        //log.flush();
        //sc.close();
    }
}