太郎と花子はそれぞれカードを何枚か持っている. 各カードには点数が書かれている. 太郎のカードと花子のカードを 1 枚ずつ交換して, それぞれの持つカードの合計点数が等しくなるようにしたい. どのカードとどのカードを交換したらよいか.
ただし,カードを交換しなくても合計点数が等しい場合でも, 必ずカードの交換を行うものとする.
入力は,いくつかのデータセットからなる. 各データセットは次の形式で与えられる.
n m
s1
s2
...
sn
sn+1
sn+2
...
sn+m
各データセットの最初の行は空白ひとつで区切られたふたつの数 n と m を含み, n は太郎のカードの枚数,m は花子のカードの枚数を表す. 続く n+m 行には,各カードの点数が 1 行にひとつずつ並ぶ. 最初の n 個の点数 (s1 から sn まで) は太郎のカードの点数, 残りの m 個の点数 (sn+1 から sn+m まで) は花子のカードの点数を表す.
n および m は 100 以下の正の整数とし, カードの点数は 0 以上 100 以下の整数値とする.
入力の終わりは,空白ひとつで区切られたふたつの 0 を含む 1 行で示される.
各データセットに対し, ふたつの数を 1 行にひとつの空白で区切って出力せよ. 最初の数は太郎が花子に渡すカードの点数, 2 番目の数は花子が太郎に渡すカードの点数である. なお,合計を等しくするようなカードの交換の方法が複数ある場合は, 交換するカードの点数の和が最小となるものを出力すること.
カードの点数の合計を等しくするような交換が存在しない場合は -1 のみを含む 1 行を出力すること. 出力形式に従わない余計な文字を含んではならない.
2 2 1 5 3 7 6 5 3 9 5 2 3 3 12 2 7 3 5 4 5 10 0 3 8 1 9 6 0 6 7 4 1 1 2 1 2 1 4 2 3 4 3 2 3 1 1 2 2 2 0 0
1 3 3 5 -1 2 2 -1