ざっと見た限りでは150行目と156行目がアウトでした。 一気にやると打ち間違いもわかんなくなると思うので、 最後に書いたとおり、一箇所ずつ実行して変化を確認して欲しいです。 いちおう、一箇所ずつでもちゃんと動くように書いてます。 漠然とまとめて書き写すだけだと、よく分からないままなので、書き写した部分に手を付けられなくなって詰んでしまう要素になってしまいます。できる範囲で何をやってるのか把握することをおすすめします。