给定三个包含 $n+1$ 个整数的数组:$a, b, c$。 我们定义 $3n+1$ 个函数 $F_0, F_1, \dots, F_{3n}$ 如下:
$$F_i(t) = it + \max_{\substack{0 \le x, y, z \le n \\ x+y+z=i}} (a_x + b_y + c_z)$$
如果不存在实数 $t$ 使得对于所有 $j \neq i$ 都有 $F_i(t) > F_j(t)$,则称函数 $F_i$ 为 $\text{NeVeR\_LosEs}$。 你的任务是找出哪些函数可以被称为 $\text{NeVeR\_LosEs}$。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 3 \cdot 10^5$)。 第二行包含数组 $a_0, a_1, \dots, a_n$ ($0 \le a_i \le 10^9$)。 第三行包含数组 $b_0, b_1, \dots, b_n$ ($0 \le b_i \le 10^9$)。 第四行包含数组 $c_0, c_1, \dots, c_n$ ($0 \le c_i \le 10^9$)。
输出格式
第一行输出一个整数 $m$,表示被称为 $\text{NeVeR\_LosEs}$ 的函数数量。 第二行输出 $m$ 个整数 $0 \le i_1 \le \dots \le i_m \le 3n$,按升序排列这些函数的下标。
样例
输入 1
3 3 1 8 7 9 1 3 1 5 1 1 6
输出 1
5 1 3 4 7 8
输入 2
1 1 2 1 2 1 2
输出 2
2 1 2