#abc280f. [abc280_f]Pay or Receive

[abc280_f]Pay or Receive

题目描述

NN 个编号为 1,ldots,N1,\\ldots,N 的城镇和 MM 条编号为 1,ldots,M1,\\ldots,M 的道路。

道路 ii 连接城镇 AiA_iBiB_i。当你使用一条道路时,你的 得分 可能会发生以下变化:

  • 当你从城镇 AiA_i 移动到城镇 BiB_i 时,使用道路 ii,你的得分增加 CiC_i;当你从城镇 BiB_i 移动到城镇 AiA_i 时,使用道路 ii,你的得分减少 CiC_i

你的得分可能变为负值。

请回答以下 QQ 个问题。

  • 如果你从初始得分为 00 的城镇 XiX_i 出发,求当你到达城镇 YiY_i 时可能的最大得分。
    如果不能从城镇 XiX_i 到达城镇 YiY_i,则输出 nan;如果当你到达城镇 YiY_i 时得分可以无限大,则输出 inf

约束条件

  • 2leqNleq1052\\leq N \\leq 10^5
  • 0leqMleq1050\\leq M \\leq 10^5
  • 1leqQleq1051\\leq Q \\leq 10^5
  • 1leqAi,Bi,Xi,YileqN1\\leq A_i,B_i,X_i,Y_i \\leq N
  • 0leqCileq1090\\leq C_i \\leq 10^9
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN MM QQ A1A_1 B1B_1 C1C_1 vdots\\vdots AMA_M BMB_M CMC_M X1X_1 Y1Y_1 vdots\\vdots XQX_Q YQY_Q

输出

按照题目描述打印 QQ 行。
ii 行应包含第 ii 个问题的答案。


样例输入 1

5 5 3
1 2 1
1 2 2
3 4 1
4 5 1
3 5 2
5 3
1 2
3 1

样例输出 1

-2
inf
nan

对于第一个问题,如果你使用道路 55 从城镇 55 移动到城镇 33,当你到达城镇 33 时你的得分可以为 \-2\-2
由于你无法获得更高的分数,所以答案是 \-2\-2

对于第二个问题,如果你按照以下方式移动,当你到达城镇 22 时可以获得任意大的得分:反复地“使用道路 22 从城镇 11 移动到城镇 22,然后使用道路 11 从城镇 22 移动到城镇 11”。你可以无限次数地执行这个操作,最后使用道路 22 从城镇 11 移动到城镇 22

对于第三个问题,你无法从城镇 33 到达城镇 11


样例输入 2

2 1 1
1 1 1
1 1

样例输出 2

inf

一条道路的两个端点可能是相同的,同样在一个问题中给出的两个端点也可能是相同的。


样例输入 3

9 7 5
3 1 4
1 5 9
2 6 5
3 5 8
9 7 9
3 2 3
8 4 6
2 6
4 3
3 8
3 2
7 9

样例输出 3

inf
nan
nan
inf
-9