配点 : 500 点
問題文
1
から 9
の数字および X
のみからなる N 個の文字列 S1,S2,…,SN が与えられます。
(1,2,…,N) を並べ替えた列 P=(P1,P2,…,PN) を一つ選び、
文字列 T=SP1+SP2+⋯+SPN を作ります。ここで、+ は文字列の連結を表します。
そして、文字列 T=T1T2…T∣T∣ の「スコア」を計算します( ∣T∣ は文字列 T の長さを表します)。
T のスコアは、スコアが 0 の状態から始め、下記の 9 個の手順を行うことで計算されます。
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 1
を満たす整数の組 (i,j) の個数だけ、スコアを 1 点加算する 。
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 2
を満たす整数の組 (i,j) の個数だけ、スコアを 2 点加算する。
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 3
を満たす整数の組 (i,j) の個数だけ、スコアを 3 点加算する。
- ⋯
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 9
を満たす整数の組 (i,j) の個数だけ、スコアを 9 点加算する。
P を任意に選ぶときの、T のスコアとしてあり得る最大値を出力してください。
制約
- 2≤N≤2×105
- N は整数
- Si は
1
から 9
の数字および X
のみからなる長さ 1 以上の文字列
- S1,S2,…,SN の長さの総和は 2×105 以下
入力
入力は以下の形式で標準入力から与えられる。
N
S1
S2
⋮
SN
出力
答えを出力せよ。
3
1X3
59
XXX
71
P=(3,1,2) とすると、T=S3+S1+S2= XXX1X359
です。
このとき、T のスコアは次の通り計算されます。
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 1
を満たす整数の組 (i,j) が 3 個あり、
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 3
を満たす整数の組 (i,j) が 4 個あり、
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 5
を満たす整数の組 (i,j) が 4 個あり、
- 1≤i<j≤∣T∣ および Ti=
X
かつ Tj= 9
を満たす整数の組 (i,j) が 4 個あります。
よって、T のスコアは $1 \times 3 + 3 \times 4 + 5 \times 4 + 9 \times 4 = 71$ であり、これが考えられる最大値です。
10
X63X395XX
X2XX3X22X
13
3716XXX6
45X
X6XX
9238
281X92
1XX4X4XX6
54X9X711X1
3010