package com.code;
import java.util.Scanner;
public class MinNoOfadjswapstomakestringPalindrome {
	static void swapp(int k,int j,char ar[]) {
		char c=ar[k];
		ar[k]=ar[j];
		ar[j]=c;
	}
	static boolean checkAna(String s) {
		int ar[]=new int [26];
		for(int i=0;i<s.length();i++) {
			ar[s.charAt(i)-'a']++;
		}
		int odd=0;
		for(int i=0;i<ar.length;i++) {
			if(ar[i]%2==1) {
				odd++;
			}
		}
		if(odd>1) {
			return false;
		}
		return true;
	}
public static void main(String[] args) {
	Scanner o=new Scanner(System.in);
	
	int t=o.nextInt();
	while(t>0) {
	String s=o.next();
	int swap=0;
	if(!checkAna(s)) {
		System.out.println(-1);
		t--;
		continue;
	}
	else {
		char ar[]=s.toCharArray();
		int i=0;
		int j=s.length()-1;
		while(i<j) {
		if(ar[i]==ar[j]&&j>i) {
			i++;
			j--;
		}
		else {
			int k=j;
			while(k>i&&ar[i]!=ar[k]) {
				k--;
			}
			if(k==i) {
				swapp(k,k+1,ar);
				swap++;
				i++;
				j--;
			}
			else if(ar[i]==ar[k]) {
				while(k<j) {
					swapp(k,k+1,ar);
					k++;
					swap++;
				}
				i++;
				j--;
			}
		}		
	}
}
	System.out.println(swap);
	t--;
}
}
}
