#include <stdio.h> #include <math.h> int cmp_arr(int* left, int sz) { int sum_ = 0; for(int i = 0; i < sz; i++) { sum_ += *left; left++; } return sum_; } struct sub_arr { unsigned int s; int* left; int* right; }; int main() { int m, n; scanf("%d %d", &n, &m); int a[1000], b[1000]; int sum = 0; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); sum += a[i]; } for (int i = 0; i < m; i++) scanf("%d", &b[i]); struct sub_arr c[10000]; int x = 0; for (int left = 0; left < m; left++) { for (int right = m - 1; right >= left; right--) { c[x].s = abs(sum - cmp_arr(&b[left], right-left+1)); c[x].left = &b[left]; c[x].right = &b[right]; x++; } } struct sub_arr d = c[0]; for (int x = 1; x <= (1 + m) * m / 2 - 1; x++) { if (d.s > c[x].s) { d.s = c[x].s; d.left = c[x].left; d.right = c[x].right; } } int y = d.right - d.left + 1; for (int x = 0; x < y; x++) { printf("%d ", *d.left); d.left++; } return 0; }