闯关
题号:NC278904
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

一个骑士在进行闯关,面前有 n+1 个房间:0,1,2,...,n,他初始在 0 号房间,他需要按顺序通过房间。

从 1 号房间开始,每个房间有个数值 a_i,若 a_i\ge0 则,骑士进入之后会恢复 a_i 的血,否则进入会扣除 -a_i 的血。

骑士每走一步,都会前进一个房间,若骑士在某一时刻的血量 \leq 0,则死亡,无法继续闯关。

现在骑士有 h 的初始血量,jackle 想让你构造一个长度为 na 序列,满足 L\leq a_i\leq R,且骑士恰好走 k 步之后死亡。

输入描述:

在一行输入 5 个整数 n,k,h,L,R(1\leq k\leq n\leq 10^5,1\leq h\leq 10^9,-10^9\leq L\leq R\leq 10^9),分别表示序列长度,恰好走的步数,初始血量,以及两个边界参数。

输出描述:

如果无法构造请输出 impossible。
否则在一行输出 n 个整数,表示任意一组合法解。
示例1

输入

复制
2 1 3 -4 0

输出

复制
-3 -4
示例2

输入

复制
2 2 1 -1 -1

输出

复制
impossible