빙고라니!

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

대혁이는 교사입니다. 그런데 대혁이의 수업이 너무 지루한 나머지, 학생들은 수업 도중에 몰래 빙고 게임을 하기 시작했습니다. 하지만 눈치 빠른 대혁이는 이미 이 사실을 알고 있었습니다. 대혁이는 학생들을 혼내기 전에, 빙고 게임 한 판을 끝내는 데 평균적으로 몇 개의 단어가 필요한지 알아보려고 합니다.

학생들이 부르는 단어는 모두 영어 알파벳으로만 이루어져 있으며, 대문자와 소문자를 모두 쓸 수 있습니다. 학생들은 대혁이를 헷갈리게 하려고 단어의 앞·중간·뒤에 알파벳이 아닌 문자를 끼워 넣기도 합니다. 따라서 알파벳이 연속으로 이어진 부분 하나하나가 단어이며, 알파벳이 아닌 문자는 단어를 나누는 구분자로 봅니다. 예를 들어 object-orientedobjectoriented 두 단어로, types:types 한 단어로 셉니다.

한 게임에서 빙고를 완성한 학생은 BULLSHIT이라고 외치고, 대혁이는 이 외침으로 한 게임이 끝났음을 알 수 있습니다. 같은 게임 안에서 같은 단어가 여러 번 불려도 하나로 셉니다. 또한 대소문자는 구분하지 않으므로 Bingobingo는 같은 단어입니다.

각 게임에서 서로 다른 단어가 몇 개 불렸는지를 바탕으로, 게임 한 판당 평균 단어 수를 구하세요.

입력

입력은 여러 문장으로 이루어지며, 문장 사이사이에 BULLSHIT이 섞여 있습니다. BULLSHIT은 한 게임이 끝났다는 신호입니다.

입력은 다음 규칙을 따릅니다.

  • BULLSHIT은 항상 대문자로만 주어지며, 게임의 끝을 알리는 신호입니다. (소문자 bullshit 등은 평범한 단어로 취급합니다.)
  • 각 단어는 최대 25글자이고, 한 문장은 최대 100글자입니다.
  • 한 게임이 끝나기 전까지 서로 다른 단어가 최대 500개 등장합니다.
  • 게임이 성립하지 않는 경우는 입력으로 주어지지 않으므로 따로 검사하지 않아도 됩니다.

입력은 파일 끝(EOF)까지 이어집니다. 마지막 BULLSHIT 뒤에 남은 단어들은 아직 끝나지 않은 게임이므로 평균 계산에 포함하지 않습니다.

출력

게임이 끝날 때마다 그 게임에서 불린 서로 다른 단어의 개수를 모두 더한 값을, 끝난 게임의 횟수로 나눈 평균을 출력합니다.

답은 소수가 아닌 기약분수로 나타내며, 분자와 분모의 최대공약수는 1이어야 합니다. 출력 형식은 분자 / 분모로, 슬래시 양쪽에 공백이 하나씩 있습니다. 값이 정수인 경우에도 분모 1을 붙여 정수 / 1 형태로 출력합니다.

예를 들어 게임이 10번 진행되고 불린 단어가 모두 55개였다면, $\frac{55}{10}$을 약분하여 11 / 2를 출력합니다.