#include <bits/stdc++.h>
using namespace std;
const int N=2*1e5+1;
string s;
int i,p[26][N],c[26],odd,f[N],n,FT[N];
int find(int i){return i?FT[i]+find(i-(i&-i)):0;}
void add(int i){while(i<=n)FT[i]++,i+=i&-i;}
int main(){
	cin>>s;n=s.size();
	for(i=0;s[i];i++)
		p[s[i]-'a'][c[s[i]-'a']++]=i;
	for(i=0;i<26;i++)if(c[i]&1)odd++;
	if(odd>1)return puts("-1"),0;
	for(i=0;i<26;i++)
		for(int j=0;j<c[i];j++)
			f[p[i][c[i]-1-j]]=p[i][j]+1;
	long long ans=0;
	for(int i=n-1;~i;i--){
		ans+=(n-1-i)-find(f[i]);
		add(f[i]);
	}
	cout<<ans/2<<endl;
}