
조건 세개를 그대로 따라갔다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.Buffer;
public class s5_25178 {
    public static void main(String[] args) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(br.readLine());
        String a=br.readLine();
        String b=br.readLine();
        boolean flag=true;
        //1. 한 단어를 재배열해 다른 단어를 만들 수 있어야 한다.
        int[] cnt_a=new int['z'-'a'+1];
        int[] cnt_b=new int['z'-'a'+1];
        for(int i=0;i<n;i++){
            cnt_a[a.charAt(i)-'a']++;
            cnt_b[b.charAt(i)-'a']++;
        }
        for(int i=0;i<'z'-'a'+1;i++){
            if(cnt_a[i]!=cnt_b[i]){
                flag=false;
                break;
            }
        }
        //2. 두 단어의 첫 글자와 마지막 글자는 서로 동일해야 한다.
        if(a.charAt(0)!=b.charAt(0) || a.charAt(n-1)!=b.charAt(n-1)) flag=false;
        //3. 각 단어에서 모음(a, e, i, o, u)을 제거한 문자열은 동일해야 한다.
        String a2=a.replaceAll("[aeiou]","");
        String b2=b.replaceAll("[aeiou]","");
        if(!a2.equals(b2)) flag=false;
        if(flag){
            System.out.println("YES");
        }else{
            System.out.println("NO");
        }
    }
}
replaceAll함수 쓸때 한개만 아니라 여러개를 바꾸고 싶을때 대괄호로 묶어주면 된다