#P7006. [NEERC 2013] Kabaleo Lite

[NEERC 2013] Kabaleo Lite

Description

有一种棋盘游戏:棋盘上有 nn 个格子,每个格子上可以堆叠若干个有颜色的筹码,只有每个格子中最上方的筹码的颜色是可见的。

参加游戏的每个玩家都有各自不同的一个目标颜色,以及一些彩色筹码。每个人只知道自己的目标颜色,但各自拥有的筹码颜色和数量都是公开的。每个回合中,所有玩家轮流在棋盘上选一个格子放置筹码,同时覆盖下方的筹码。游戏结束后,数出棋盘上可见筹码数最多的颜色,以该颜色为目标颜色的玩家即获胜。若该颜色不是任何玩家的目标颜色,或者棋盘上出现最多的颜色不唯一,则游戏平局。

现在,一局游戏进行到了最后,你和其他所有玩家都只剩最后一个筹码。现在恰好轮到你操作,在不知道其他人的目标颜色的前提下,你想知道你一共有哪些操作可以保证必胜。

Input Format

第一行 44 个整数 n,p,c,hn,p,c,h,分别表示棋盘格数、玩家数、筹码颜色总数和你的目标颜色;

第二行 nn 个整数 bib_i,表示棋盘上现有的筹码颜色,棋盘格编号从 11 开始;

第三行 pp 个整数 lil_i,表示每个玩家的最后一枚筹码的颜色,玩家编号从你开始。

Output Format

第一行 11 个整数 ww,表示你有多少种必胜操作。

第二行 ww 个整数 mim_i,表示你应该把筹码放在哪个格子上。顺序不限。

6 3 4 2
2 1 2 3 2 2
2 1 1

1
2

Hint

1n1061\leq n\leq 10^61pc1061\leq p\leq c\leq 10^61h,bi,lic1\leq h,b_i,l_i\leq c