There are n cows playing poker at a table. For the current betting phase, each player's status is either "ALLIN", "IN", or "FOLDED", and does not change throughout the phase. To increase the suspense, a player whose current status is not "FOLDED" may show his/her hand to the table. However, so as not to affect any betting decisions, he/she may only do so if all other players have a status of either "ALLIN" or "FOLDED". The player's own status may be either "ALLIN" or "IN".

Find the number of cows that can currently show their hands without affecting any betting decisions.

Input

The first line contains a single integer, n (2 ≤ n ≤ 2·105). The second line contains n characters, each either "A", "I", or "F". The i-th character is "A" if the i-th player's status is "ALLIN", "I" if the i-th player's status is "IN", or "F" if the i-th player's status is "FOLDED".

Output

The first line should contain a single integer denoting the number of players that can currently show their hands.

Examples

Input

6
AFFAAA


Output

4


Input

3
AFI


Output

1

Note

In the first sample, cows 1, 4, 5, and 6 can show their hands. In the second sample, only cow 3 can show her hand.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

/**
 *
 * @author Jose Arandia Luna https://github.com/jma-moon
 */
public class CowsAndPokerGame {

    public static void main(String[] args) throws IOException {
        int cowsNumber = In.nInt();
        String statuses = In.nString();

        int aCounter = 0;
        int iCounter = 0;
        
        for (int i = 0; i < cowsNumber; i++) {
            switch (statuses.charAt(i)) {
                case 'A':
                    aCounter++;
                    break;
                case 'I':
                    iCounter++;
                    break;
            }
        }
        
        int result = 0;
        
        if (iCounter == 0) {
            result = aCounter;
        }
        if (iCounter == 1) {
            result = iCounter;
        }
        
        Out.print(result);
        
        Out.close();
    }

    private static class Out {

        private static PrintWriter output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));

        public static void print(Object o) {
            output.print(o);
        }
        
        public static void printLn(Object o) {
            output.println(o);
        }

        public static void close() {
            output.close();
        }

    }

    private static class In {

        private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        public static String nString() throws IOException {
            return br.readLine();
        }

        public static int nInt() throws IOException {
            return SP.toInt(nString());
        }

        public static long nLong() throws IOException {
            return SP.toLong(nString());
        }

        public static double nDouble() throws IOException {
            return SP.toDouble(nString());
        }

    }

    private static class SP {

        public static String[] split(String line, String separator) {
            return line.split(separator);
        }

        public static int toInt(String s) {
            return Integer.parseInt(s);
        }

        public static long toLong(String s) {
            return Long.parseLong(s);
        }

        public static double toDouble(String s) {
            return Double.parseDouble(s);
        }

    }

}
