#include <bits/stdc++.h>
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
inline int GetTickCount() { return 0; }
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pi = pair<int, int>;
using pll = pair<ll, ll>;
using pld = pair<ld, ld>;
using vi = vector<int>;
using vll = vector<ll>;
using vld = vector<ld>;
using vvi = vector<vi>;
using vvll = vector<vll>;
using vvld = vector<vld>;
using si = set<int>;
using sll = set<ll>;
using sld = set<ld>;
ll fact(ll n) { return ((n == 1) || (n == 0)) ? 1 : fact(n - 1) * n; }
ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }
inline void solve();
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  ull stime;
  if (false) stime = GetTickCount();
  solve();
  if (false) {
    cout << "\n\nExecution time : " << (GetTickCount() - stime) / 60000.
         << '\n';
    cout << "End!!!";
    while (true)
      ;
  }
  return 0;
}
void solve() {
  string s;
  cin >> s;
  ;
  string gl("aeiou13579");
  int cnt(0);
  for (char c : s) {
    if (gl.find(c) != string::npos) {
      cnt++;
    }
  }
  cout << cnt;
}
