HH 有个一成不变的习惯,喜欢饭后百步走。所谓百步走,就是散步,就是在一定的时间内,走过一定的距离。 但是同时 HH 又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为 HH 是个喜欢变化的人,所以他每天走过的路径都不完全一样,他想知道他究竟有多少种散步的方法。 现在给你学校的地图(假设每条路的长度都 是一样的都是 1),问长度为 t,从给定地点 A 走到给定地点 B 共有多少条符合条件的路径。
输入格式
第一行:五个整数 N,M,t,A,B。
- N 表示学校里的路口的个数
- M 表示学校里的路的条数
- t 表示 HH 想要散步的距离
- A 表示散步的出发点
- B 则表示散步的终点。
接下来 M 行:
- 每行一组 Ai,Bi,表示从路口 Ai 到路口 Bi 有一条路。
- 数据保证 Ai≠Bi,但不保证任意两个路口之间至多只有一条路相连接。
- 路口编号从 0 到 N−1。
- 同一行内所有数据均由一个空格隔开,行首行尾没有多余空格。没有多余空行。
答案取模 45989。
输出格式
一行,表示答案。
样例数据
样例输入
4 5 3 0 0
0 1
0 2
0 3
2 1
3 2
样例输出
4
数据范围
对于 20% 的数据,n≤4,m≤10,A=B=0。
另有 10% 的数据,n≤3,m≤3。
另有 10% 的数据,m=0。
另有 10% 的数据,n≤10,m≤40。
另有 10% 的数据,n≤10。
另有 10% 的数据,Ai=0。
对于 100% 的数据,1≤N≤20,1≤M≤60,0≤t≤230,0≤A,B<N。