#L6881. 「THUPC 2023」百合

「THUPC 2023」百合

题目背景

葡萄藤上开不出百合花。


题目描述

你落在一个巨大的葡萄架上,上面一共有 2k2^k 朵百合花和 mm 条葡萄藤。其中,百合花编号为 002k12^k-1 的整数,第 ii 条葡萄藤连接了编号为 xi,yix_i, y_i 的百合花。

你可以花费 cic_i 的时间通过第 ii 条葡萄藤,也就是从 xix_i 走到 yiy_i,或者反过来;
还可以花费 ata_t 的时间从 xx 闪现到 yy,其中 x,yx, y 是任意两朵百合花,tt 是它们在二进制表示下不同的比特数。
例如,33 的二进制表示是 011\mathtt{011}55 的二进制表示是 101\mathtt{101},它们有两位不同,因此从 33 闪现到 55 花费的时间是 a2a_2

假设你恰好落在编号为 ss 的百合花上,求从 ss 出发到每一朵百合花所需要的最短时间。


输入格式

第一行包含三个正整数 k,m,sk, m, s,其含义如题目描述。

第二行包含 kk 个非负整数 a1,a2,,aka_1, a_2, \dots, a_k,其含义如题目描述。

33 至第 (m+2)(m+2) 行每行三个非负整数 xi,yi,cix_i, y_i, c_i1im1 \leq i \leq m),其含义如题目描述。


输出格式

输出一行 2k2^k 个数 D0,D1,,D2k1D_0, D_1, \dots, D_{2^k-1},空格隔开,其中 DiD_i 表示从 ssii 的最短时间。


样例

输入:

3 6 2
17 14 11
0 2 3
4 2 9
2 2 1
2 2 6
7 0 5
4 2 9

输出:

3 14 0 17 9 11 17 8

数据范围与提示

保证:

  • k17k \leq 17
  • m2×105m \leq 2\times 10^5
  • 0s,xi,yi2k10 \leq s, x_i, y_i \leq 2^k-1
  • 0ai,ci23010 \leq a_i, c_i \leq 2^{30}-1