#abc264g. [abc264_g]String Fair

[abc264_g]String Fair

问题陈述

在一个字符串公平(fair)中,人们确定了由小写英文字母组成的非空字符串SS的“美丽度”。

字符串SS的美丽度等于由NN个标准所决定的NN个得分之和。对于i=1,2,,Ni = 1, 2, \ldots, N,由第ii个标准决定的得分是“字符串TiT_i(给定输入中长度至多为3的字符串)在SS中作为连续子序列出现的次数”乘以PiP_i

输出由小写英文字母组成的非空字符串SS的最大可能美丽度。如果可能获得无限大的美丽度,则输出Infinity

这里,字符串VV在字符串U=U1U2UUU = U_1U_2\ldots U_{|U|}中作为连续子序列出现的次数被定义为满足1iUV+11 \leq i \leq |U|-|V|+1以及UiUi+1Ui+V1=VU_iU_{i+1}\ldots U_{i+|V|-1} = V的整数ii的个数。

约束条件

  • 1N182781 \leq N \leq 18278
  • NN是一个整数。
  • TiT_i是长度在1133之间、由小写英文字母组成的字符串。
  • ijTiTji \neq j \Rightarrow T_i \neq T_j
  • 109Pi109-10^9 \leq P_i \leq 10^9
  • PiP_i是一个整数。

输入

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

NN T1T_1 P1P_1 T2T_2 P2P_2 \vdots TNT_N PNP_N

输出

输出由小写英文字母组成的非空字符串SS的最大可能美丽度。如果可能获得无限大的美丽度,则输出Infinity


示例输入1

3
a -5
ab 10
ba -20

示例输出1

Infinity

例如,如果S=S = abzabz

  • 11个标准确定的得分为2×(5)=102 \times (-5) = -10,因为aSS中连续子序列中出现了两次。
  • 22个标准确定的得分为2×10=202 \times 10 = 20,因为abSS中连续子序列中出现了两次。
  • 33个标准确定的得分为0×(20)=00 \times (-20) = 0,因为baSS中连续子序列中没有出现。

因此,SS的美丽度是(10)+20+0=10(-10) + 20 + 0 = 10

再举一个例子,如果S=S = abzabzabz

  • 11个标准确定的得分为3×(5)=153 \times (-5) = -15,因为aSS中连续子序列中出现了33次。
  • 22个标准确定的得分为3×10=303 \times 10 = 30,因为abSS中连续子序列中出现了33次。
  • 33个标准确定的得分为0×(20)=00 \times (-20) = 0,因为baSS中连续子序列中没有出现。

因此,SS的美丽度是(15)+30+0=15(-15) + 30 + 0 = 15

一般来说,对于正整数XX,如果SSabzXX个拼接,那么SS的美丽度是5X5X。由于可以获得任意大的美丽度,应输出Infinity


示例输入2

28
a -5
ab 10
ba -20
bb -20
bc -20
bd -20
be -20
bf -20
bg -20
bh -20
bi -20
bj -20
bk -20
bl -20
bm -20
bn -20
bo -20
bp -20
bq -20
br -20
bs -20
bt -20
bu -20
bv -20
bw -20
bx -20
by -20
bz -20

示例输出2

5

S=S = ab达到了可能的最大美丽度。


示例输入3

26
a -1
b -1
c -1
d -1
e -1
f -1
g -1
h -1
i -1
j -1
k -1
l -1
m -1
n -1
o -1
p -1
q -1
r -1
s -1
t -1
u -1
v -1
w -1
x -1
y -1
z -1

示例输出3

-1

注意,SS应该是一个非空字符串。