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()