>411 >427 >428

EOFが返ることもあるんだね。知らなかった。

しかしここはいずれにしても、入力チェックとしては
if (scanf(" %d", &m) != 1)
とすべきではないかと思う。