H. 基础练习 完美的代价

    Type: Default 1000ms 512MiB

基础练习 完美的代价

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

说明


  回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。
  交换的定义是:交换两个相邻的字符
  例如mamad
  第一次交换 ad : mamda
  第二次交换 md : madma
  第三次交换 ma : madam (回文!完美!)

输入格式

输入描述:
  第一行是一个整数N,表示接下来的字符串的长度(N <= 8000)
  第二行是一个字符串,长度为N.只包含小写字母
输入样例:
5
mamad

输出格式


输出描述:
  如果可能,输出最少的交换次数。
  否则输出Impossible
输出样例:
3

样例

参考上文 
参考上文

提示

HINT:时间限制:1.0s 内存限制:512.0MB