U453535 为了你唱下去

题目背景

> 故事扉页将约定,郑重落笔,我始终铭记。

题目描述

你是一个歌手,今年是你出道的第 $12$ 年,你将在全国各个城市旅行,唱歌巡游。一开始有 $n$ 个城市,你可以选择从任意一个城市出发,有 $m$ 条无向边连接这些城市,其中第 $i$ 条边,连接着 $u_i,v_i$ 两个城市,且经过一次这条边需要耗费 $l_i$ 的旅费。 $n$ 个城市中,前 $c$ 个城市为你特别喜欢的城市,其余的城市为不算特别喜欢的城市,每当你在你特别喜欢的城市中唱完歌后,你的旅费可以重新恢复到 $r$ 。 在城市间漫无目的的行走是没有意义的,你想要至少经过 $k$ 个,你特别喜欢的城市,你才能得到满足。 作为经纪人,我知道你很聪明,所以能请你告诉我有多少个**不是你特别喜欢的**城市满足至少存在一种巡游方式经过至少 $k$ 个你**特别喜欢**的城市后,最后在这个**不是你特别喜欢的**城市结束。并输出他们的城市编号。 注意:一开始可从任意城市出发,但一开始旅费数量为 $0$ 。可以重复经过某一条边,或者重复经过某个城市,也可以重复获得旅费。**图不一定联通。**

输入格式

输入的第一行包括五个整数 $n,m,c,r,k$ 。 接下来 $m$ 行每行包括 $3$ 个整数,其中第 $i$ 行为 $u_{i-1},v_{i-1},l_{i-1}$ 。

输出格式

首先输出一行,表示满足条件的城市的数量。 然后下一行升序输出满足条件的城市集合,每个城市用一个空格隔开。

说明/提示

### 样例解释 $1$ : 你一开始从 $1$ 开始唱了一场收费的演唱会,这时候有 $4$ 的旅费,然后可以前往城市 $2$ 举办公益演唱会,此时旅费还剩 $1$ ,去不了城市 $3$ 。 ![](https://cdn.luogu.com.cn/upload/image_hosting/prmkzgjg.png?x-oss-process=image/resize,m_lfit,h_170,w_225) ### 样例解释 $2$ : 你从 $1$ 出发,走到 $2$ ,再走到 $5$ ,在收费的点中经过了 $2$ 个,符合条件,到 $5$ 的时候剩余旅费为 $96$ ,所以 $5$ 是合法的点。但是如果从 $3$ 出发走到 $4$ ,只能经过一个收费的点,所以 $4$ 不能让你开心。 ## 测试点性质: 对于 $30\%pts$ :$n\le 200,m\le 1000$ 对于另外 $10\%pts$:图为一条链 对于另外 $30\%pts$:图为一棵树,并且关键点只存在于叶子结点。 对于 $100\%pts$ : $2\le n\le 10^5,m\le 5\times 10^5,1\le c\le n,1\le k\le c,1\le u_i,v_i\le n,1\le l_i\le 10^9,1\le r\le 10^9$