#include <iostream>
using namespace std;
int ff( int i) { return i; }
int fs( int i) { return i; }
struct X
{
friend X ff( X x) ;
static X fs( X x) ;
} ;
X ff( X x) { return x; }
X X:: fs ( X x) { return x; }
template < class T>
T ff2( T t) { return ff( t) ; }
template < class T>
T fs2( T t) { return fs( t) ; }
int main( ) {
int i = 0 ;
X x;
ff2( i) ;
ff2( x) ;
fs2( i) ;
fs2( x) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBmZihpbnQgaSkgeyByZXR1cm4gaTsgfQppbnQgZnMoaW50IGkpIHsgcmV0dXJuIGk7IH0KCnN0cnVjdCBYCnsKICAgIGZyaWVuZCBYIGZmKFggeCk7CiAgICBzdGF0aWMgWCBmcyhYIHgpOwp9OwpYIGZmKFggeCkgeyByZXR1cm4geDsgfQpYIFg6OmZzKFggeCkgeyByZXR1cm4geDsgfQoKdGVtcGxhdGU8Y2xhc3MgVD4KVCBmZjIoVCB0KSB7IHJldHVybiBmZih0KTsgfQoKdGVtcGxhdGU8Y2xhc3MgVD4KVCBmczIoVCB0KSB7IHJldHVybiBmcyh0KTsgfQoKaW50IG1haW4oKSB7CiAgICBpbnQgaSA9IDA7CiAgICBYIHg7CiAgICAKICAgIGZmMihpKTsKICAgIGZmMih4KTsKICAgIAogICAgZnMyKGkpOwogICAgZnMyKHgpOwogICAgcmV0dXJuIDA7Cn0gCg==