달팽이
시간 제한1초메모리 제한128 MB
달팽이가 매일 조금씩 덜 기어오르고 밤마다 일정 거리 미끄러질 때, 탈출과 추락 중 무엇이 먼저 일어나는지 알아낸다.
문제
달팽이 한 마리가 깊이 피트인 우물 바닥에서 꼭대기로 기어오르려 한다. 낮에 해가 떠 있는 동안 달팽이는 위로 기어오르고, 밤에는 잠을 자며 아래로 미끄러진다.
첫째 날 달팽이는 피트를 오른다. 하지만 달팽이는 점점 피로해지므로, 매일 오르는 거리가 조금씩 줄어든다. 구체적으로 째 날에 달팽이가 오르는 거리는 피트이다. (피로로 잃는 거리는 항상 첫째 날 거리의 이다.) 만약 이 값이 음수가 되면 그날 달팽이는 전혀 오르지 않는다(오른 거리는 0). 낮에 얼마를 올랐든 밤에는 항상 피트를 미끄러져 내려간다.
달팽이의 높이가 우물의 높이 피트를 처음으로 초과하는 순간 달팽이는 우물을 벗어난다. 반대로 밤에 미끄러진 뒤 높이가 음수가 되면 달팽이는 우물 바닥으로 되돌아가 실패한다. (하루는 낮 시간과 그에 이어지는 밤 시간으로 이루어진다.)
예를 들어 인 경우, 아래 표처럼 달팽이는 셋째 날에 우물을 벗어난다.
주어진 매개변수에 따라 달팽이는 결국 우물을 벗어나거나(높이가 를 초과) 바닥으로 미끄러진다(높이가 음수가 됨). 둘 중 어느 일이 먼저 일어나는지, 그리고 며칠째에 일어나는지를 구하여라.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 각 케이스는 한 줄에 주어진다. 각 줄에는 공백 하나로 구분된 네 정수 가 있다.
- : 우물의 높이(피트)
- : 달팽이가 낮 동안 오르는 거리(피트)
- : 달팽이가 밤 동안 미끄러지는 거리(피트)
- : 백분율로 표현한 피로 계수
인 줄은 입력의 끝을 의미하며 처리하지 않는다. 그 외에는 네 정수 모두 이상 이하이다. 달팽이는 결코 음수 거리를 오르지 않는다. 피로 때문에 오르는 거리가 0보다 작아지면 그날은 전혀 오르지 않는다. 그러나 얼마를 올랐든 밤에는 항상 피트를 미끄러진다.
출력
각 테스트 케이스마다 한 줄을 출력한다.
달팽이가 우물을 벗어나면(성공) 다음과 같이 출력한다.
success on day <n>
달팽이가 바닥으로 미끄러지면(실패) 다음과 같이 출력한다.
failure on day <n>
여기서 <n>은 해당 사건이 일어난 날의 번호이다.