for(i=len-1; i>=0; i++)
for(i=len-1; i>=0; i--)
void adjust_montf_result(unsigned int *i32, unsigned int *nint, int len){long long acc;int i; if(i32[len]>0) i=-1; else   {     for(i=len-1; i>=0; i++)       {	 if(i32[i]!=nint[i]) break;       }   } if((i<0)||(i32[i]>nint[i]))   {     acc=0;     for(i=0;i<len;i++)       {	 acc=acc+(unsigned long long)(i32[i])-(unsigned long long)(nint[i]);	 i32[i]=(unsigned int)acc;	 acc=acc>>32;       }   }}