#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>

using namespace std;
char rijec [ 100 ];
long long memo [ 110 ] [ 30 ] [ 30 ] [ 2 ];
long long sol;
int len;

bool vowel ( int a ) {
    a += 'A';
    if ( a == 'A' || a == 'E' || a == 'I' || a == 'O' || a == 'U' ) return true;
    return false;
}

long long rek ( int poz , int pred, int zad, bool L ) {
    int sum = 0;
    long long sol = 0;
    if ( poz == len ) return L == 1;
    if ( memo [ poz ] [ pred ] [ zad ] [ L ] != -1 ) return memo [ poz ] [ pred ] [ zad ] [ L ];
    if ( rijec [ poz ] != '_' ) {
        sum = vowel ( rijec [ poz ] - 'A' ) + vowel ( pred ) + vowel ( zad );
        if ( sum == 0 || sum == 3 ) return memo [ poz ] [ pred ] [ zad ] [ L ] = 0;
        if ( rijec [ poz ] != 'L' ) return memo [ poz ] [ pred ] [ zad ] [ L ] = rek ( poz + 1 , zad , rijec [ poz ] - 'A', L );
        if ( rijec [ poz ] == 'L' ) return memo [ poz ] [ pred ] [ zad ] [ L ] = rek ( poz + 1 , zad , rijec [ poz ] - 'A' , 1 );
    }
    for ( int i = 0 ; i <= 'Z' - 'A' ; i++) {
        sum = vowel ( i ) + vowel ( pred ) + vowel ( zad );
        if ( sum != 0 && sum != 3 && i + 'A' != 'L' ) sol += rek ( poz + 1 , zad , i, L );
        if ( sum != 0 && sum != 3 && i + 'A' == 'L' ) sol += rek ( poz + 1 , zad , i , 1 );
    }

    return memo [ poz ] [ pred ] [ zad ] [ L ] = sol;
}
int main() {
    memset ( memo , -1,sizeof memo );
    scanf("%s",rijec);
    len = strlen ( rijec );
    if ( rijec [ 0 ] == rijec [ 1 ] && rijec [ 0 ] == '_' )
        for ( int i = 0 ; i <= 'Z' - 'A' ; i++)
            for ( int j = 0 ; j <= 'Z' - 'A' ; j++)
                if ( i + 'A' != 'L' && j + 'A' != 'L' ) sol += rek ( 2 , i , j,0 );
                else
                    sol += rek ( 2 , i , j,1 );


    if ( rijec [ 0 ] != '_' && rijec [ 1 ] == '_' )
        for ( int i = 0 ; i <= 'Z' - 'A' ; i++)
            if ( rijec [ 0 ] != 'L' && i + 'A' != 'L' ) sol += rek ( 2 , rijec [ 0 ] - 'A' , i, 0 );
            else
                sol += rek ( 2 , rijec [ 0 ] - 'A' , i, 1 );


    if ( rijec [ 0 ] == '_' && rijec [ 1 ] != '_' ) {
        for ( int i = 0 ; i <= 'Z' - 'A' ; i++)
            if ( rijec [ 1 ] != 'L' && i + 'A' != 'L' ) sol += rek ( 2 , i , rijec [ 1 ] - 'A',0 );
            else
                sol += rek ( 2 , i , rijec [ 1 ] - 'A',1 );
    }

    if ( rijec [ 0 ] != '_' && rijec [ 1 ] != '_' )
        if ( rijec [ 0 ] != 'L' && rijec [ 1 ] != 'L' ) sol = rek ( 2 , rijec [ 0 ] - 'A' , rijec [ 1 ] - 'A',0 );
        else
            sol += rek ( 2 , rijec [ 0 ] - 'A' , rijec [ 1 ] - 'A' , 1 );

    if ( len == 1 && ( rijec [ 0 ] == 'L' || rijec [ 0 ] == '_' ) ) sol = 1;

    cout << sol << endl;
    return 0;
}
