private char[] build_key_alphabet(String k)
	{
		//I/J and W/X combined
		char[] result=new char[24];
		String k_u=k.toUpperCase();
		boolean[] filled=new boolean[26];
		int cur_pos=0;
		for(int i=0;i<k_u.length();i++)
		{
			char cur_c=k_u.charAt(i);
			if(cur_c=='J')
			{
				cur_c='I';
			}
			if(cur_c=='X')
			{
				cur_c='W';
			}
			int pos=cur_c-'A';
			if(filled[pos])
				continue;
			filled[cur_c-'A']=true;
			result[cur_pos]=cur_c;
			cur_pos++;
		}
		for(int i=0;i<26;i++)
		{
			char cur_c=(char)('A'+i);
			if(cur_c=='J' || cur_c=='X')
				continue;
			if(filled[i])
				continue;
			result[cur_pos]=cur_c;
			filled[i]=true;
			cur_pos++;
		}
		return result;
		
	}