import sys
def find_closest_subarray(a, b):
# 计算数组a的和
sum_a = sum(a)
n = len(b)
# 初始化最小差值和最优解的开始和结束索引
min_diff = float("inf")
best_start = 0
best_end = 0
# 遍历b的所有子数组
for start in range(n):
current_sum = 0
for end in range(start, n):
current_sum += b[end]
current_diff = abs(current_sum - sum_a)
# 如果找到更小的差值,则更新解
if current_diff < min_diff:
min_diff = current_diff
best_start = start
best_end = end
# 如果差值相同,则选择起始点更小的那个
elif current_diff == min_diff and start < best_start:
best_start = start
best_end = end
# 建立最优子数组并返回
return b[best_start : best_end + 1]
def main():
input = sys.stdin.read
data = input().strip().split()
n, m = int(data[0]), int(data[1])
a = list(map(int, data[2 : n + 2]))
b = list(map(int, data[n + 2 : n + 2 + m]))
# 得到最接近的子数组
closest_subarray = find_closest_subarray(a, b)
print(" ".join(map(str, closest_subarray)))
if __name__ == "__main__":
main()