// BOI 2005
// Task: MANUSCRIPT
// Solution
// Author: Ahto Truu

// This is an efficient solution using dynamic programming

const
   vow = ['a', 'e', 'i', 'o', 'u'];
   maxl = 15;
   maxe = 4;
   maxc = 4;

var
   f : text;
   ve, vc, ce, cc : integer;
   s : string;
   a : array [1..maxl, 'a'..'z', 1..maxe, 1..maxc] of int64;
   n : int64;
   i, ne, nc, ke, kc : integer;
   p, c : char;

begin
   assign(f, 'manu.in'); reset(f);
   readln(f, ve, vc, ce, cc);
   readln(f, s);
   close(f);

   { algväärtustame }
   for i := 1 to length(s) do
      for c := 'a' to 'z' do
         for ke := 1 to maxe do
            for kc := 1 to maxc do
               a[i, c, ke, kc] := 0;

   { esimene täht }
   for c := 'a' to 'z' do
      if (c = s[1]) or (s[1] = '*') then
         a[1, c, 1, 1] := 1;

   { järgmised tähed }
   for i := 2 to length(s) do begin
      for p := 'a' to 'z' do begin { eelmise positsiooni täht }
         { lubatud korduste arvud vastavalt tähe liigile }
         if p in vow then begin
            ne := ve; nc := vc;
         end else begin
            ne := ce; nc := cc;
         end;
         for c := 'a' to 'z' do begin { selle positsiooni täht }
            if (c = s[i]) or (s[i] = '*') then begin
               if c = p then begin
                  for ke := 1 to ne - 1 do
                     for kc := ke to nc - 1 do
                        a[i, c, ke + 1, kc + 1] := a[i, c, ke + 1, kc + 1] + a[i - 1, p, ke, kc];
               end else if (c in vow) = (p in vow) then begin
                  for ke := 1 to ne do
                     for kc := ke to nc - 1 do
                        a[i, c, 1, kc + 1] := a[i, c, 1, kc + 1] + a[i - 1, p, ke, kc];
               end else begin
                  for ke := 1 to ne do
                     for kc := ke to nc do
                        a[i, c, 1, 1] := a[i, c, 1, 1] + a[i - 1, p, ke, kc];
               end;
            end;
         end;
      end;
   end;

   { vastus }
   n := 0;
   for c := 'a' to 'z' do
       for ke := 1 to maxe do
          for kc := 1 to maxc do
             n := n + a[length(s), c, ke, kc];

   assign(f, 'manu.out'); rewrite(f);
   writeln(f, n);
   close(f);
end.
