#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct pospos {
    bool operator()( int n ) { return n > 10; }
};

int main() {
	vector<int> vv(20);
	vector<int> tt(20);
	
	for( int i = 0; i < 20; ++i ) vv[i] = i;
	
	cout << "First Print: " << endl;
	for( int i = 0; i < 20; ++i ) cout << "vv[" << i << "]: " << vv[i] << endl;
	for( int i = 0; i < 20; ++i ) cout << "tt[" << i << "]: " << tt[i] << endl;
	
	copy_if( vv.begin(), vv.end(), tt.begin(), pospos() );
	
	cout << "Second Print: " << endl;
	for( int i = 0; i < 20; ++i ) cout << "tt[" << i << "]: " << tt[i] << endl;
}