#include <bits/stdc++.h>
using namespace std;
int getint() {
  int _x = 0, _tmp = 1;
  char _tc = getchar();
  while ((_tc < '0' || _tc > '9') && _tc != '-') _tc = getchar();
  if (_tc == '-') _tc = getchar(), _tmp = -1;
  while (_tc >= '0' && _tc <= '9') _x *= 10, _x += (_tc - '0'), _tc = getchar();
  return _x * _tmp;
}
bool equal(double _x, double _y) { return _x > _y - 1e-7 && _x < _y + 1e-7; }
int __ = 1, cs;
char c[500010];
int len;
double ans, dp[500010], cnt[500010];
double BIT[500010];
int lb(int x) { return x & (-x); }
void insert(int no, double dlt) {
  while (no <= len) {
    BIT[no] += dlt;
    no += lb(no);
  }
}
double query(int no) {
  double sum = 0;
  while (no) {
    sum += BIT[no];
    no -= lb(no);
  }
  return sum;
}
bool vowel(char ctmp) {
  return ctmp == 'I' || ctmp == 'E' || ctmp == 'A' || ctmp == 'O' ||
         ctmp == 'U' || ctmp == 'Y';
}
void build() {}
void init() {
  scanf("%s", c + 1);
  len = strlen(c + 1);
}
void solve() {
  for (int i = 1; i <= len; i++)
    if (vowel(c[i])) {
      int lft = i, rgt = len - i + 1;
      int tmp = min(lft, rgt);
      ans += (double)tmp;
      int low = tmp + 1, high = len + 1 - tmp;
      if (low <= high) {
        insert(low, tmp);
        insert(high + 1, -tmp);
      }
      int st = len + 2 - tmp;
      dp[st] += tmp - 1.0;
      cnt[st] += 1.0;
    }
  for (int i = 1; i <= len; i++) {
    double tsum = query(i);
    ans += tsum / (double)i;
  }
  for (int i = 1; i <= len; i++) {
    ans += dp[i] / (double)i;
    dp[i + 1] += dp[i] - cnt[i];
    cnt[i + 1] += cnt[i];
  }
  printf("%.20f\n", ans);
}
int main() {
  build();
  while (__--) {
    init();
    solve();
  }
}
