#include <iostream>
#include <iomanip>

using namespace std;

class Ref
{
    int &p;
public:
    Ref(int&p):p(p){}
    void out() { cout << (void*)&p << endl; }
};

class Val
{
    int p;
public:
    Val(int&p):p(p){}
    void out() { cout << (void*)&p << endl; }
};


int main(int argc, char * argv[])
{
    int x = 5;
    cout << (void*)&x << endl;
    Ref r(x);
    Val v(x);
    r.out();
    v.out();
}
