if(m[n]==null) m[n]=1
の部分と三項演算子の部分の後分は機能が被ってませんか?