フィボナッチ数列の第50までの和を求めようと以下のプログラムを書きました

public static void main(String[] args) {

int a1=1;
int a2=1;
int a=0;
for(int i=0; i<50; i++){
a=a1+a2;
a2=a1;
a1=a;
}
System.out.println(a);
}
実行してみると-1408458269となって-の値になってしまいます
どこが違うのでしょうか?