#include <bits/stdc++.h>
using namespace std;
int a[26];
int b[26];
char s1[200005];
char s2[200005];
int arr[200005] = {0};
int main() {
  int y, w, l, i;
  y = w = 0;
  scanf("%s", s1);
  scanf("%s", s2);
  l = strlen(s2);
  for (i = 0; i < l; i++) {
    if (s2[i] >= 65 && s2[i] <= 90) {
      a[s2[i] - 65]++;
    } else {
      b[s2[i] - 97]++;
    }
  }
  l = strlen(s1);
  for (i = 0; i < l; i++) {
    if (s1[i] >= 65 && s1[i] <= 90) {
      if (a[s1[i] - 65] > 0) {
        a[s1[i] - 65]--;
        y++;
        arr[i] = 1;
      }
    } else {
      if (b[s1[i] - 97] > 0) {
        b[s1[i] - 97]--;
        y++;
        arr[i] = 1;
      }
    }
  }
  for (i = 0; i < l; i++) {
    if (arr[i] == 0) {
      if (s1[i] >= 65 && s1[i] <= 90) {
        if (b[s1[i] - 65] > 0) {
          b[s1[i] - 65]--;
          w++;
          arr[i] = 1;
        }
      } else {
        if (a[s1[i] - 97] > 0) {
          a[s1[i] - 97]--;
          w++;
          arr[i] = 1;
        }
      }
    }
  }
  printf("%d %d\n", y, w);
  return 0;
}
