#CF786B. Legacy

Legacy

markdown

B. 遗产

项目 说明
时间限制 22
内存限制 256256 兆字节
输入 标准输入
输出 标准输出

里克和他的同事们研制出了一种新的放射性配方,许多坏蛋正在追捕他们。因此,里克希望在坏蛋抓住他们之前,把自己的遗产交给莫蒂。

在他们的宇宙中有 nn 颗行星,编号从 11nn。里克在编号为 ss 的行星(地球)上,但他不知道莫蒂在哪里。众所周知,里克拥有一把传送枪。使用这把枪,他可以从当前所在的行星打开一条单向传送门到任何其他行星(包括当前行星)。但由于他还在使用免费试用版,这把枪有一些限制。

默认情况下,他无法用这把枪打开任何传送门。售卖这把枪的网站上提供了 qq 种方案。每次购买一种方案,你只能使用一次,但如果想多次使用,可以再次购买。

网站上的方案分为三种类型:

  • 类型 11:使用这种方案,你可以从行星 vv 打开一条传送门到行星 uu
  • 类型 22:使用这种方案,你可以从行星 vv 打开一条传送门到任意编号在 [l,r][l, r] 范围内的行星。
  • 类型 33:使用这种方案,你可以从任意编号在 [l,r][l, r] 范围内的行星打开一条传送门到行星 vv

里克不知道莫蒂在哪里,但 Unity 会通知他,他希望做好准备,一旦找到莫蒂就能立即开始旅程。因此,对于每一颗行星(包括地球本身),他想知道从地球到达该行星所需的最少花费。

输入

第一行包含三个整数 nnqqss1n,q1051 \le n, q \le 10^51sn1 \le s \le n)—— 分别表示行星的数量、方案的数量以及地球的编号。

接下来的 qq 行包含这些方案。每行以一个数字 tt 开头,表示该方案的类型(1t31 \le t \le 3)。如果 t=1t = 1,则后面跟着三个整数 vvuuww,其中 ww 是该方案的花费(1v,un1 \le v, u \le n1w1091 \le w \le 10^9)。否则,后面跟着四个整数 vvllrrww,其中 ww 是该方案的花费(1vn1 \le v \le n1lrn1 \le l \le r \le n1w1091 \le w \le 10^9)。

输出

在唯一的一行输出中,打印 nn 个整数,用空格分隔。第 ii 个数应为从地球到达第 ii 颗行星所需的最少花费,如果无法到达该行星,则输出 1-1

样例

样例输入 1

3 5 1
2 3 2 3 17
2 3 2 2 16
2 2 2 3 3
3 3 1 1 12
1 3 3 17

样例输出 1

0 28 12

样例输入 2

4 3 1
3 4 1 3 12
2 2 3 4 10
1 2 4 16

样例输出 2

0 -1 -1 12

注释

在第一个样例中,里克可以先购买第 44 种方案一次,再购买第 22 种方案,从而到达第 22 颗行星。