import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;

public class Mugs {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int L = Integer.parseInt(br.readLine());


        char[] list = br.readLine().toCharArray();
//        int left[] = new int[L];
        int right[] = new int[L];

        int map[] = new int[L];
        for (int i = 0; i < L; i++) {
            int c = list[i] - 'a';
            map[i] = 1 << c;
//            System.out.printf("MAP: %d - %s\n", i,Integer.toString(map[i], 2));
        }

//        left[0] = map[0];
//        for (int i = 1; i < L; i++) {
//            left[i] = left[i-1] ^ map[i];
//            System.out.printf("LEFT: %d - %s\n", i,Integer.toString(left[i], 2));
//        }
        right[L-1] = map[L-1];
        for (int i = L-2; i >= 0; i--) {
            right[i] = right[i+1] ^ map[i];
//            System.out.printf("RIGHT: %d - %s\n", i,Integer.toString(right[i], 2));
        }

//        int max = 1;

        for (int i = L; i >= 0; i--) {
            for (int j = 0; j < L-i+1; j++) {
                int diff;
                if (j < L-i) {
                    diff = right[j+i] ^ right[j];
                }
                else {
                    diff = right[j];
                }
//                int l = j-i+1;

//                System.out.printf("%d:%d - %s\n", i,j,Integer.toString(diff, 2));
                int bitCount = Integer.bitCount(diff);
                if (bitCount <= 1) {
                    System.out.println(i);
                    return;
                }

//                j+= bitCount-2;

            }
        }
//        System.out.println(max);

    }

}

