def main(): import sys input = sys.stdin.read().split() ptr = 0 K = int(input[ptr]) ptr += 1 N = int(input[ptr]) ptr += 1 A = list(map(int, input[ptr:ptr+K])) ptr += K B = list(map(int, input[ptr:ptr+K])) ptr += K if N < K: print(A[N]) return c = max(B) j_list = [j for j in range(K) if B[j] == c] current_window = A.copy() for i in range(K, N + 1): found = False for j in j_list: if current_window[j] >= c: found = True break if found: if i <= N: print(c) return else: min_values = [min(current_window[j], B[j]) for j in range(K)] A_i = max(min_values) current_window.pop(0) current_window.append(A_i) if i == N: print(A_i) return main()