#arc088c. [arc088_c]Papple Sort

[arc088_c]Papple Sort

问题描述

给定一个由小写英文字母组成的字符串 SS。确定是否可以通过重复交换相邻字符的操作将 SS 变成一个回文串。如果可能,找到所需的最小操作次数。

约束条件

  • 1S2×1051 \leq |S| \leq 2 × 10^5
  • SS 由小写英文字母组成。

输入

从标准输入读取输入数据。数据格式如下:

SS

输出

如果无法将 SS 变成一个回文串,则打印 -1。否则,打印所需的最小操作次数。


示例输入1

eel

示例输出1

1

我们可以通过以下操作将 SS 变成一个回文串:

  • 交换第 22 和第 33 个字符。SS 现在是 ele

示例输入2

ataatmma

示例输出2

4

我们可以通过以下操作将 SS 变成一个回文串:

  • 交换第 55 和第 66 个字符。SS 现在是 ataamtma
  • 交换第 44 和第 55 个字符。SS 现在是 atamatma
  • 交换第 33 和第 44 个字符。SS 现在是 atmaatma
  • 交换第 22 和第 33 个字符。SS 现在是 amtaatma

示例输入3

snuke

示例输出3

-1

我们无法将 SS 变成一个回文串。