题目描述
研究员 Nika 手里有两个关于 n 个位置的排列:
p1,p2,…,pn
和
q1,q2,…,qn.
她想构造两个整数数组
a1,a2,…,an
和
b1,b2,…,bn,
使它们满足一些单调性约束,同时恰好产生 k 个“冷门配对”。
数组元素必须满足:
−n≤ai,bi≤n.
排列 p 和 q 分别给出了两个数组的非降顺序要求:
ap1≤ap2≤⋯≤apn,
bq1≤bq2≤⋯≤bqn.
对于一对下标 (i,j),若满足
i<j
且
ai+bj<0,
则称 (i,j) 是一个冷门配对。
请你判断是否能构造出数组 a,b,使冷门配对数量恰好为 k。如果可以,请输出任意一种构造。
输入格式
第一行包含两个整数 n,k,分别表示元素个数和需要的冷门配对数量。
第二行包含 n 个整数 p1,p2,…,pn,表示一个排列。
第三行包含 n 个整数 q1,q2,…,qn,表示一个排列。
输出格式
如果不存在满足条件的数组,输出一行:
No
否则,第一行输出:
Yes
第二行输出 n 个整数 a1,a2,…,an。
第三行输出 n 个整数 b1,b2,…,bn。
数组元素需要满足题目中的范围和单调性要求,并且冷门配对数量必须恰好为 k。
数据范围
- 1≤n≤300000;
- 0≤k≤2n(n−1);
- p 和 q 均为 1 到 n 的排列。
样例
输入
5 3
3 5 1 2 4
1 2 3 4 5
输出
Yes
2 3 -1 5 1
-5 -3 -2 -2 0