すこし長いですがテストプログラムを作りました。けいさんの説明のほうが分かりやすいと思いますが、試してみてください。