#include <bits/stdc++.h>
int main() {
  char a[200100], b[200100];
  while (~scanf("%s%s", a, b)) {
    int c[1000];
    memset(c, 0, sizeof(c));
    int n = 0;
    for (int i = 0; a[i]; ++i) ++c[a[i]];
    int ya = 0;
    for (int i = 0; b[i]; ++i)
      if (c[b[i]]) --c[b[i]], ++ya, b[i] = -1;
    for (int i = 0; b[i]; ++i)
      if (b[i] != -1)
        if (c[tolower(b[i])])
          ++n, --c[tolower(b[i])];
        else if (c[toupper(b[i])])
          ++n, --c[toupper(b[i])];
    printf("%d %d\n", ya, n);
  };
  return 0;
};
