#include #ifdef DEBUG #include #else #define dump(...) #endif int main() { int N, M; std::cin >> N >> M; std::vector A(N), B(M); for (int i = 0; i < N; ++i) std::cin >> A[i]; for (int i = 0; i < M; ++i) std::cin >> B[i]; std::vector a, b; for (int i = 0; i < M; ++i) a.insert(a.end(), A.begin(), A.end()); for (int i = 0; i < N; ++i) b.insert(b.end(), B.begin(), B.end()); dump(a, b); int ans = INT_MAX; bool ok = false; for (int i = 0; i < N * M; ++i) { if (a[i] == b[i]) { ok = true; ans = std::min(ans, i + 1); } } if (ok) std::cout << ans << "\n"; else std::cout << -1 << "\n"; return 0; }