Sparking 2009. 7. 28. 02:00
동전들
Time Limit: 1000MS Memory Limit: 131072K
Total Submissions: 4206 Accepted: 2615

설명


Snoopy가 3개의 동전을 가지고 있습니다. 그러다 어느날 그는 테이블 위에 동전을 던진 후에 그것들중 몇 개를 다시 던져서 전부 앞면 또는 뒷면이 나오게 하는 것을 연습해보았습니다. 여러번의 시도 끝에, 그는 처음에 동전들이 어떤 상태로 놓여지건간에, 한 번에 한 동전을 던지는 조건이 만족되면 두 번만에 원하는 모양으로 동전의 방향을 맞출 수 있고, 모든 동전은 한 번 이상 튕겨질 수 있습니다. 또한, 한 번 이하로 던져서는 목표를 달성할 수 없다는 것도 알게 되었습니다.

Snoopy는, 만약 n개의 동전을 가지고 있다면 그것들을 전부 같은 모양으로 맞출때 최소한 몇 번을 던져야 하는지를 알고 싶어합니다.

입력


입력할 것은 여러 테스트 케이스들로 이루어집니다. 각 테스트 케이스는 10000 미만의 양정수 n을 여러 줄에 입력합니다. 모든 입력이 끝나면 0을 넣고, 이 0에 대한 값은 계산하지 않습니다.

출력


각 테스트 케이스의 결과는 공백 없이 각각 하나의 줄에 나타납니다. 만약 입력에 대한 값이 존재하지 않는다면, “No Solution!”을 출력합니다.

입력 예시

2
3
0

출력 예시

No Solution!
2

Source

POJ Monthly--2007.04.01, Snoopy

p.s: 중대한 오류를 발견, 수정하긴 했습니다만, 그래도 좀 애매하군요. 여러분들의 지식이 필요합니다 OTL.