#include <bits/stdc++.h>
using namespace std;
int n, lgs, lgt, aps[500], apt[500], apf[500], y, w;
char s[200010], t[200010];
int main() {
  int i;
  cin >> s >> t;
  for (; s[lgs]; lgs++) aps[s[lgs]]++;
  for (; t[lgt]; lgt++) apt[t[lgt]]++;
  for (i = 'a'; i <= 'z'; i++) {
    if (aps[i] <= apt[i]) {
      y += aps[i];
      apt[i] -= aps[i];
      aps[i] = 0;
    } else {
      y += apt[i];
      aps[i] -= apt[i];
      apt[i] = 0;
    }
  }
  for (i = 'A'; i <= 'Z'; i++) {
    if (aps[i] <= apt[i]) {
      y += aps[i];
      apt[i] -= aps[i];
      aps[i] = 0;
    } else {
      y += apt[i];
      aps[i] -= apt[i];
      apt[i] = 0;
    }
  }
  for (i = 'a'; i <= 'z'; i++) {
    if (aps[i] <= apt[i - 32]) {
      w += aps[i];
      apt[i - 32] -= aps[i];
      aps[i] = 0;
    } else {
      w += apt[i - 32];
      aps[i] -= apt[i - 32];
      apt[i] = 0;
    }
  }
  for (i = 'A'; i <= 'Z'; i++) {
    if (aps[i] <= apt[i + 32]) {
      w += aps[i];
      apt[i + 32] -= aps[i];
      aps[i] = 0;
    } else {
      w += apt[i + 32];
      aps[i] -= apt[i + 32];
      apt[i] = 0;
    }
  }
  cout << y << " " << w;
}
