#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 200000 + 10;
const char vs[] = "aeiouAEIOU";
int N, ans, cnt, top;
char s[MAX_N];
int w[MAX_N];
int p[MAX_N];
int a[MAX_N];
void Init() {
  for (int i = 'a'; i <= 'z'; ++i) w[i] = 2;
  for (int i = 'A'; i <= 'Z'; ++i) w[i] = 2;
  for (int i = 0; i < 10; ++i) w[vs[i]] -= 3;
  scanf("%s", s);
  N = strlen(s);
}
void Ins(int x) {
  if (top && p[x] <= p[a[top]]) return;
  a[++top] = x;
}
int Get(int up) {
  int l = 0, r = top + 1, mid;
  while (l + 1 != r) {
    mid = l + r >> 1;
    if (p[a[mid]] >= up)
      r = mid;
    else
      l = mid;
  }
  if (r == top + 1) return -10;
  return a[r];
}
void Solve() {
  for (int i = 0; i < N; ++i) {
    p[i] = w[s[i]];
    if (i) p[i] += p[i - 1];
  }
  int oo, ww;
  for (int i = N - 1; i >= 0; --i) {
    Ins(i);
    if (i)
      ww = p[i - 1];
    else
      ww = 0;
    oo = Get(ww);
    if (oo - i + 1 == ans) {
      ++cnt;
    } else if (oo - i + 1 > ans) {
      cnt = 1;
      ans = oo - i + 1;
    }
  }
  if (ans)
    cout << ans << ' ' << cnt << endl;
  else
    cout << "No solution" << endl;
}
int main() {
  Init();
  Solve();
  return 0;
}
