#include int s[1003], t[1003]; int right_id[1003]; int ans[1003], aa; int main() { int n, m; scanf("%d %d", &n, &m); int i, j; for (i = 0; i < n; i++) scanf("%d", &s[i]); for (i = 0; i < m; i++) scanf("%d", &t[i]); right_id[n] = m; right_id[n + 1] = -1; for (j = m - 1, i = n - 1; i >= 0; i--) { if (j >= 0) if (s[i] == t[j]) j--; right_id[i] = j; } int k, id, f; s[n] = 1e9; t[m] = 1e4; aa = 0; for (i = 0, j = 0; i < n; i++) { id = n; for (k = 0; i + k < n && j + k < m && s[i + k] == t[j + k]; k++) { if (s[id] > s[i + k] && right_id[i + k + 1] < j + k) id = i + k; } if (s[id] > s[i + k] && right_id[i + k + 1] <= j + k) id = i + k; if (id == n) break; ans[aa++] = s[id]; k = id - i; i += k; j += k; } for (i = 0; i < aa - 1; i++) printf("%d ", ans[i]); if (aa > 0) printf("%d\n", ans[i]); else printf("\n"); return 0; }