#4982. 第三题

内存限制:512 MiB 时间限制:10 Sec

题目描述

sl想打dota2了,但他现在在机房,而且yz就在他旁边,他自然不能玩dota2这种这么容易被发现(鼠标、键盘发出
啪啪啪的声音,眼睛中射出诡异的光)的游戏,所以他只好打开了一个小游戏。这个小游戏是这样的:在一个平面
上有n个A类点(从1~n编号),m个B类点(从1~m编号)。A类点很团结,他们想用n-1条边将他们连成一棵树;B
类点也想用m-1条边连成一棵树(边不可弯曲)。但这些边都不能在非AB类点出相交。如果成功连边则过关。sl有
个不好的习惯:如果没有过关,他就会气得砸键盘。如果在平时,没有什么关系(因为sl不喜欢运动,只喜欢打游
戏,以他的力气砸不坏键盘);然而此时yz在他旁边,他一砸键盘,yz就知道他在打游戏了,一定会狠狠地D他一
顿。凭sl那点可怜的智商,当然过不了关啦,所以为了拯救sl,你只好教他玩了。

输入格式

第一行两个整数n,m。含义如题所述。
接下来n行,每行两个整数,代表A类点的位置。
接下来m行,每行两个整数,代表B类点的位置。
n+m≤3000,坐标不超过1000000000,没有三点共线。

输出格式

如果无解,输出"GG!"(不含引号)。
否则输出n+m-2行。
前n-1行,每行两个整数a,b,代表在a号A类点和b号A类点间连一条边。
前m-1行,每行两个整数a,b,代表在a号B类点和b号B类点间连一条边。

样例

样例输入


			
3 2
1 0
0 1
2 3
0 0
1 1

样例输出


			
1 3
2 3
1 2

数据范围与提示

请不要提交!