#include <iostream> using namespace std; int main(){ int a,b,c,length=1,max=0,change=0,x=0; while(cin>>a>>b){ if(a>b){ c=a; a=b; b=c; change=1; } for(x=a;x<=b;x++){ while(x>1){ length=1; if(x%2==0){ x=x/2; } else{ x=x*3+1; } length++; cout << "while" << endl; } cout << "for" << endl; if(length>=max){ max=length; } } if(change=1) cout<<b<<" "<<a<<" "<<max<<endl; else cout<<a<<" "<<b<<" "<<max<<endl; } return 0; }
1 10
for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for while for wh