っていうか答え書いちゃうけど,
999 * 999 の部分でオーバーフロー起こすんスよね。
調べてみたら,32767 以上の結果になる演算はできない模様。
  a = 999
  a = a * 999
なら何の問題もないけど,なんかシャクに障るんで
  a = Val("999") * Val("999")
にしてやろうか〜とか思いました。
(しませんでしたけど