#1098. 额外的报酬

额外的报酬

题目描述:

假设本月新收若干个不同订单,其难易程度为一级、二级、三级…同样,能够完成 不同难度订单的工人也被分为若干星级,并且 x 星级的工人能够完成 x 级别以下的 所有任务。现有 m 个订单,n 个空闲工人,请问能否完成所有订单呢?如果可以, 最少的花费是多少呢?  注:每个工人当月只能完成一件任务,工人的工资就是工人的星级。

输入格式:

第一行两个整数 m 和 n,分别表示订单量和工人量。(1<=n,m<=20000)

第二行 m 个整数,表示每个订单的难易级别;

第三行 n 个整数,表示每个工人的星级。

输出格式:

如果可以完成:第一行输出最小花费,接下来 m 行每行两个整数,分别表 示订单级别与相应的工人级别(用空格隔开)。否则,直接输出“failed”。

样例:


5 7
5 4 6 6 3
3 5 9 10 6 8 5


27
3 3
4 5
5 5
6 6
6 8