FOR s=~を削除して、Hが-1以外の時の値が、管理番号であり、配列番号に持ってこれるのじゃないかと思います。