友诸葛亮
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}以今日之时局,唯以此策解之。
\hspace{15pt}今世变化难测,需赖以演策之术。
\hspace{15pt}百策百中,勤在推演而已。
\hspace{15pt}友诸葛亮是三国杀移动版的权一武将,他可以通过「卧龙演策」摸牌:
\hspace{23pt}\bullet\,友诸葛亮预测接下来被使用的任意张牌的类别(「基本牌」、「锦囊牌」、「装备牌」)和使用顺序;
\hspace{23pt}\bullet\,预测结束后,友诸葛亮根据预测正确的牌数摸取等量的牌。

\hspace{15pt}yzc 正在使用操作型武将界徐盛和友诸葛亮对局。界徐盛手上有 x 张「基本牌」,y 张「锦囊牌」,z 张「装备牌」,并且他需要在一回合内将这些牌全部打出。不幸的是,友诸葛亮已经知道了每一种牌的数量,并且他已经做出了预测,顺序依次为 a_1, a_2, \cdots, a_{x+y+z}。这其中恰好有 x 张「基本牌」,y 张「锦囊牌」,z 张「装备牌」。
\hspace{15pt}现在,轮到界徐盛出牌了。作为操作型武将,界徐盛必须让友诸葛亮通过「卧龙演策」摸的牌最少,那么界徐盛该以何种顺序使用牌呢?如果有多种使用牌的方法,界徐盛知道一种就够了。

输入描述:

\hspace{15pt}第一行输入三个整数 x,y,z \left(0\leq x,y,z \leq 10^5;\ 1 \leq x+y+z \leq 10^5 \right) 代表界徐盛手上「基本牌」、「锦囊牌」、「装备牌」的数量。 
\hspace{15pt}第二行输入 x+y+z 个整数 a_1, a_2, \cdots, a_{x+y+z} \left(1 \leq a_i \leq 3\right) 代表友诸葛亮的预测,其中 1 代表「基本牌」,2 代表「锦囊牌」,3 代表「装备牌」,保证恰好x 张「基本牌」,y 张「锦囊牌」,z 张「装备牌」。

输出描述:

\hspace{15pt}在一行上输出 x+y+z 个整数,代表界徐盛使用牌的顺序。你需要保证界徐盛出牌符合自己的手牌结构,且让友诸葛亮通过「卧龙演策」摸的牌最少。

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
2 2 2
1 2 3 2 3 1

输出

复制
3 1 2 1 2 3

说明

\hspace{15pt}样例的出牌方式能保证友诸葛亮全部预测错误,摸 0 张牌,是最优方案。
示例2

输入

复制
4 9 4
1 1 1 1 3 3 3 3 2 2 2 2 2 2 2 2 2

输出

复制
2 2 2 2 2 2 2 2 3 3 3 3 1 1 1 1 2

说明

\hspace{15pt}最佳出牌方式会让友诸葛亮摸 1 张牌。