Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

Problem hidden

SOMAS07 - Somas proibidas

no tags 

Nicolau e Carlos são irmãos gêmeos. Eles gostam muito de Matemática e, para desafiarem um ao outro, inventam vários jogos matemáticos.

Carlos inventou um jogo no qual ele dá vários cartões numerados com inteiros positivos distintos a Nicolau. Nicolau tem que dividir esses cartões em dois grupos de forma que a soma de qualquer par de cartões em um mesmo grupo nunca esteja em uma lista de somas proibidas, escolhida por Carlos. Se Nicolau conseguir fazer a divisão, ele ganha; caso contrário, seu irmão ganha.

Nicolau quer uma estratégia vencedora para este jogo, mas isso é muito difícil quando há muitos cartões e, por isso, ele pediu a sua ajuda.

Tarefa

Escreva um programa que, dados os números escritos nos cartões e as somas proibidas por Carlos, determine se é possível fazer a divisão em dois grupos, e, em caso afirmativo, exiba uma possível divisão.

Entrada

A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A primeira linha contém dois inteiros N e M (1 ≤ N ≤ 100.000, 1 ≤ M ≤ 100), que são o número de cartões que Nicolau tem que dividir, e quantas somas foram proibidas por Carlos. A segunda linha contém N inteiros distintos I (1 ≤ I ≤ 1.000.000.000), que são os números escritos nos cartões de Nicolau. A terceira linha contém M inteiros J (3 ≤ J ≤ 1.999.999.999), que são as somas que Carlos proibiu.

Saída

Seu programa deve imprimir, na saída padrão, duas linhas, representando uma possível divisão dos cartões. Cada linha deve conter um conjunto de inteiros representando um grupo: um inteiro, indicando quantos cartões estão naquele grupo, seguido dos números escritos nos cartões daquele grupo; todos os inteiros de uma mesma linha devem ser separados por espaços em branco.

Caso existam várias divisões possíveis, você pode imprimir qualquer uma delas. Se não for possível realizar a divisão, você deve imprimir -1 nas duas linhas.

Exemplo

Entrada:
14 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 4 9 16 25

Saída:
7 2 13 11 4 9 1 6
7 10 12 5 3 14 8 7

Entrada:
4 5
1 2 3 4
3 4 5 6 7

Saída:
-1
-1

Entrada:
5 1
1 2 3 4 5
10

Saída:
5 1 2 3 4 5
0


Added by:Wanderley Guimarăes
Date:2012-07-21
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Seletiva IOI 2007