序列操作
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

你有一个长度为 n 的序列 ,和两个整数 x, p,特别的,p 是质数。在一次操作中,你可以选择两个整数
  •  a_l 变为
  • 变为
  • a_r 变为

再给你一个序列 ,现在想让你找到一个非负整数 x,使得这个 x 在最小操作次数下,序列 A 能变成序列 B 。如果有多个 x,输出最小的。

输入描述:

第一行两个整数 ,保证 p 是质数。
第二行 n 个正整数 ,表示序列 A
第三行 n 个正整数 ,表示序列 B

输出描述:

一个整数 x
示例1

输入

复制
4 5
3 3 1 4
2 1 3 2

输出

复制
4