전체적으로 프로그램이 어떻게 돌아가는지와  temp와 tmp가 어떤역활을 하는지도 궁금합니다ㅠㅠㅠ