void swap( vector<int> & data, int a, int b ) { int tmp = data[a]; data[a] = data[b]; data[b] = tmp; }