휴대폰 자판

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

문제

휴대폰에서 길이가 $P$인 영어 단어를 입력하려면 버튼을 $P$번 눌러야 한다. 그런데 어떤 연구원이 사전을 활용해 입력을 더 빠르게 해 주는 자판 모듈을 만들었다. 이 모듈은 지금까지 입력된 접두사 뒤에 올 수 있는 다음 글자가 사전 전체에서 단 하나뿐이라면, 그 글자를 버튼 입력 없이 자동으로 채워 준다. 동작 규칙은 다음과 같다.

  1. 모듈은 단어의 첫 글자는 추론하지 않는다. 즉, 사전의 모든 단어가 같은 글자로 시작하더라도 첫 글자는 반드시 사용자가 직접 눌러야 한다.
  2. 길이가 1 이상인 문자열 $c_1 c_2 \cdots c_n$이 입력된 상태에서, "$c_1 c_2 \cdots c_n$으로 시작하는 사전 속 모든 단어"가 예외 없이 "$c_1 c_2 \cdots c_n c$로도 시작"하게 만드는 글자 $c$가 존재하면, 모듈은 버튼 입력 없이 그 $c$를 자동으로 입력한다. 그런 글자가 없으면 사용자의 입력을 기다린다.

예를 들어 사전에 "hello", "hell", "heaven", "goodbye" 네 단어가 있다고 하자. 사용자가 "h"를 누르면 "h"로 시작하는 단어는 모두 그다음이 "e"이므로 모듈이 "e"를 자동으로 채운다. 하지만 "hel"로 시작하는 단어도 "hea"로 시작하는 단어도 있으므로 여기서는 입력을 기다린다. 이어서 사용자가 "l"을 누르면 다음 글자가 "l"로 유일하므로 자동으로 채워진다. 그러나 여기서 끝나는 "hell"과 그렇지 않은 "hello"가 함께 있으므로 모듈은 다시 기다린다. "hell"을 원하면 여기서 멈추고, "hello"를 원하면 사용자가 직접 "o"를 눌러야 한다. 따라서 "hello"는 버튼을 3번, "hell"과 "heaven"은 각각 2번 눌러야 한다("heaven"은 "he" 다음에 "a"만 누르면 나머지가 모두 자동으로 채워진다). "goodbye"는 "g"만 누르면 이후 글자가 항상 유일하여 끝까지 자동으로 채워지므로 단 1번이면 된다. 이때 네 단어를 입력하는 데 필요한 버튼 횟수의 평균은 $(3 + 2 + 2 + 1) / 4 = 2.00$이다.

사전이 주어졌을 때, 이 모듈을 사용해 사전의 각 단어를 입력하는 데 필요한 버튼 횟수의 평균을 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 파일의 끝까지 각 테스트 케이스를 순서대로 처리한다.

각 테스트 케이스의 첫째 줄에는 사전에 든 단어의 개수 $N$이 주어진다($1 \le N \le 10^5$). 이어지는 $N$개의 줄에는 길이가 1 이상 80 이하이고 영어 소문자로만 이루어진 단어가 한 줄에 하나씩 주어진다. 같은 단어가 두 번 주어지지는 않는다. 한 테스트 케이스에 등장하는 모든 단어의 길이 합은 최대 $10^6$이다.

출력

각 테스트 케이스마다 정답을 소수점 아래 둘째 자리까지 반올림하여 한 줄에 출력한다.