명확하게 이해하기 쉽지 않네
특히 fail 함수 구하는 거에서 내 머리 오버플로남