고구려와 태자

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

문제

고구려를 세운 동명성왕의 본명은 주몽이다. 주몽은 첫 번째 왕비 예소야와의 사이에서 유리를 얻었고, 두 번째 왕비 소서노와의 사이에서 비류와 온조를 얻었다. 이들은 함께 화목하게 지냈지만 주몽이 진짜 후계자를 정할 때가 오면서 사정이 달라졌다. 태자 자리를 두고 겨루는 후보는 유리와 비류다.

주몽은 내전을 막으려고 로또와 비슷한 게임을 만들고, 이 게임에서 이긴 사람을 태자로 삼겠다고 선포했다. 게임을 시작할 때 주몽이 정수 nn을 정하면 두 후보는 각각 길이가 nn인 이진 문자열, 즉 0과 1로만 이루어진 문자열을 하나씩 고른다. 고른 두 문자열은 서로 달라야 하고, 같으면 고르는 단계를 다시 반복한다.

길이가 같고 서로 다른 두 문자열을 받은 주몽은 앞면과 뒷면이 나올 확률이 같은 동전을 여러 번 던진다. 앞면을 0, 뒷면을 1로 적으면 동전 던지기의 결과는 오른쪽으로 자라나는 이진 문자열이 된다. 자라나는 이 문자열 안에 자기가 고른 문자열이 먼저 나타난 사람이 게임에서 이기고 태자가 된다.

유리와 비류가 고른 이진 문자열이 주어질 때, 유리가 이길 확률을 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄이고, 유리가 고른 이진 문자열과 비류가 고른 이진 문자열이 이 순서대로 공백 하나를 사이에 두고 주어진다. 두 문자열은 서로 다르고 길이가 같으며, 그 길이는 30을 넘지 않는다. 마지막 줄에는 0 0이 주어지고, 이 줄은 처리하지 않는다.

출력

ii번째 테스트 케이스의 답을 ii번째 줄에 출력한다. 각 줄에는 유리가 이길 확률을 나타내는 실수 하나만 소수점 아래 넷째 자리에서 반올림해 셋째 자리까지 쓴다. 0.500이나 1.000처럼 소수점 아래를 항상 세 자리로 채워 출력한다. 답이 반올림 경계에 정확히 놓이는 입력은 주어지지 않는다.