import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;

public class Euler868 {

    static long rankSjt(ArrayList<Integer> p) {
        int n = p.size();
        if (n <= 1)
            return 0;

        int mx = n - 1;
        int pos = 0;
        while (p.get(pos) != mx)
            ++pos;

        ArrayList<Integer> q = new ArrayList<>();
        for (int i = 0; i < n; ++i) {
            if (i != pos)
                q.add(p.get(i));
        }

        long b = rankSjt(q);
        long off = ((b & 1) != 0) ? pos : (n - 1 - pos);
        return b * n + off;
    }

    static long swapsToReach(String word) {
        char[] chars = word.toCharArray();
        Arrays.sort(chars);
        String sorted = new String(chars);

        int[] idx = new int[256];
        Arrays.fill(idx, -1);
        for (int i = 0; i < sorted.length(); ++i) {
            char c = sorted.charAt(i);
            idx[c] = i;
        }

        ArrayList<Integer> perm = new ArrayList<>();
        for (int i = 0; i < word.length(); ++i) {
            char c = word.charAt(i);
            perm.add(idx[c]);
        }

        return rankSjt(perm);
    }

    public static String solve() {
        return Long.toString(swapsToReach("NOWPICKBELFRYMATHS"));
    }

    public static void main(String[] args) {
        System.out.println(solve());
    }
}
