vector<int>::iterator ite = ivec.begin();
while((ite = find_if(ite, ivec.end(), bind2nd(greater<int>(), 5))) != ivec.end())
{
cout << *ite << " ";
ite++;
}
cout << endl;
sort(ivec.begin(), ivec.end(), greater<int>());
while(ite != ivec.end())
{
cout << *ite << " ";
ite++;
}
cout << endl;
}