输入集合A和B,输出A到B上的所有函数。

问题描述
给定非空数字集合A和B,求出集合A到集合B上的所有函数。
输入格式
第一行输入m和n(空格间隔),分别为集合A和集合B中的元素个数; 第二行输入非空数字集合A,每个元素之间用空格间隔; 第三行输入非空数字集合B,每个元素之间用空格间隔。
输出格式
输出每一行为集合A到集合B的一个构成函数的二元关系,按二元关系的基数大小从小到大输出所有二元关系,相同基数的二元关系按序偶中元素的字典序排列。
样例输入
2 2
1 2
3 4
样例输出
{<1,3>,<2,3>}
{<1,3>,<2,4>}
{<1,4>,<2,3>}
{<1,4>,<2,4>}
用C或C++,提供解题思路即可

集合中竟然允许有重复元素!
5和6被狗吃了?!