#P1895. Bring Them There

Bring Them There

描述描述
到3141年,人类文明已遍布银河系。人们使用特殊的超空间隧道在恒星系间穿梭。使用超空间隧道时,需驾驶宇宙飞船飞到源恒星系附近的特定位置,启动超空间跳跃装置,穿过隧道,在目标恒星系附近脱离,再飞往目标行星。整个过程恰好耗时1天。该系统的一个小缺点是:每条隧道每天仅允许1艘飞船使用。

你在“星际商业机器”公司的运输部门工作。今早老板交给你一项新任务:为举办编程竞赛,IBM需要将KK台超级计算机从公司总部所在地——地球所在的恒星系,运送到Eisiem行星所在的恒星系。由于超级计算机体积庞大,每台都需要整艘飞船运输。你需要设计耗时最少的运输方案。尽管IBM实力雄厚,可随时调用所需隧道,但每条隧道每天仍仅限使用一次(即同一天内,同一隧道不能被两艘飞船使用,即使双向通行也不行)。

输入输入
第一行包含NN(恒星系数量)、MM(隧道数量)、KK(需运输的超级计算机数量)、SS(太阳系编号,即地球所在恒星系)和TT(Eisiem行星所在恒星系编号)(2N502 \leq N \leq 501M2001 \leq M \leq 2001K501 \leq K \leq 501S,TN1 \leq S, T \leq N,且STS \neq T)。
接下来MM行每行包含两个不同整数,表示一条双向隧道连接的两个恒星系编号。隧道不可连接自身,且任意两恒星系间至多有一条隧道。

输出输出
首行输出LL,即运送KK台超级计算机从SSTT的最少天数。接下来LL行描述运输过程:每行以CiC_i开头(表示当天移动的飞船数),后跟CiC_i对整数(A,B)(A, B),表示编号为AA的飞船从当前恒星系飞往BB。输入保证存在从SSTT的路径。

输入数据

6 7 4 1 6
1 2
2 3
3 5
5 6
1 4
4 6
4 3

输出数据

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