시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
A 마을과 B 마을의 주민들이 줄다리기 시합을 하려고 한다. 각 마을의 사람들은 이미 한 줄로 서 있으며, 이를 각각 A줄과 B줄이라고 부른다. 두 줄을 각각 순서를 유지한 채 연속한 세 개의 비어 있지 않은 단위 줄 A1, A2, A3과 B1, B2, B3으로 나눈다. 시합은 A1과 B1, A2와 B2, A3과 B3이 맞붙는 세 번으로 진행된다.
단위 줄의 무게는 그 단위 줄에 속한 사람들의 몸무게 합이다. 각 줄에서 사람들의 원래 순서는 바꿀 수 없다. 또한 대응하는 각 단위 줄 쌍마다 두 무게의 차이는 50 이하여야 한다.
어떤 나누기에서 세 쌍의 무게 차이 중 가장 큰 값을 줄다리기 값이라고 하자. 위 조건을 만족하는 나누기 중 줄다리기 값이 가장 작은 나누기를 구해야 한다.
첫째 줄에 A줄과 B줄의 사람 수를 나타내는 정수 N과 M이 주어진다.
둘째 줄에는 A줄에 선 사람들의 몸무게 N개가 순서대로 주어진다. 셋째 줄에는 B줄에 선 사람들의 몸무게 M개가 순서대로 주어진다.
N과 M은 3 이상 30,000 이하의 정수이다. 각 몸무게는 20 이상 100 이하의 정수이다.
조건을 만족하는 나누기가 없으면 첫째 줄에 -1을 출력한다.
나누기가 존재하면 두 줄을 출력한다. 첫째 줄에는 A1, A2, A3에 속한 사람 수를 차례대로 출력한다. 둘째 줄에는 B1, B2, B3에 속한 사람 수를 차례대로 출력한다.
줄다리기 값이 최소인 나누기가 여러 개라면 그중 아무거나 하나를 출력해도 된다.