#include <bits/stdc++.h>
using namespace std;
void up(vector<long long int> &bit, int j, int x, int n) {
  for (; j <= n; j += j & (-j)) bit[j] += x;
}
long long int que(vector<long long int> &bit, int j) {
  long long int x = 0;
  for (; j > 0; j -= (j) & (-j)) x += bit[j];
  return x;
}
int main() {
  int n, m, l, i;
  string str;
  cin >> str;
  n = str.size();
  vector<int> v(n + 1, 0);
  vector<long long int> fro(n + 1, 0), rev(n + 1, 0);
  for (i = 0; i < n; i++) {
    if (str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' ||
        str[i] == 'U' || str[i] == 'Y')
      v[i + 1] = 1;
  }
  for (i = 1; i <= n; i++)
    if (v[i]) up(fro, i, i, n), up(rev, i, n + 1 - i, n);
  for (i = 1; i <= n; i++) v[i] += v[i - 1];
  double ans = 0, d = 0;
  long long int x;
  cout << setprecision(12) << fixed;
  for (l = 1; l <= n; l++) {
    if (l <= n + 1 - l)
      m = l;
    else
      m = n + 1 - l;
    x = m, x *= (v[n + 1 - m] - v[m - 1]);
    x += (que(fro, m - 1) + que(rev, n) - que(rev, n + 1 - m));
    d = x, d /= l, ans += d;
  }
  cout << ans << endl;
}
