    #include <iostream>
    
    struct Pairs {
        int* _data;
        Pairs( int data[] ) : _data(data) {}
	    int & first( size_t x ) const { return _data[x*2]; }
        int & second( size_t x ) const { return _data[x*2+1]; }
    };
    
    int main() {
    	int N=5;
    	int data[10]= {1,2,4,5,7,8,10,11,13,14};
    	Pairs pairs( data );
    	
    	for(int i=0; i<N; ++i)
    		std::cout << i << ": (" << pairs.first(i) << ", " << pairs.second(i) << ")" << std::endl;
    	
    	return 0;
    }
