#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <cstdlib>
#include <stdexcept>
#include <initializer_list>
using namespace std;
constexpr size_t sz( ) { return 42 ; }
constexpr size_t scale ( size_t i) { return i * sz( ) ; }
bool f ( const string & s1, const string & s2) { cout << "function called" << endl; return 0 ; }
bool g ( const string & s1, const string & s2) ;
decltype( g) * xynta( int i)
{
return i % 2 ? & f : & g;
}
int main( )
{
int i = 2 ;
int a[ scale( i) ] ;
string x = "xxx" , y = "yyy" ;
decltype( g) * pf = f;
( * pf) ( x, y) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KI2luY2x1ZGUgPGluaXRpYWxpemVyX2xpc3Q+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3RleHByIHNpemVfdCBzeigpIHsgcmV0dXJuIDQyOyB9CmNvbnN0ZXhwciBzaXplX3Qgc2NhbGUgKHNpemVfdCBpKSB7IHJldHVybiBpICogc3ooKTsgfQoKYm9vbCBmIChjb25zdCBzdHJpbmcgJnMxLCBjb25zdCBzdHJpbmcgJnMyKSB7IGNvdXQgPDwgImZ1bmN0aW9uIGNhbGxlZCIgPDwgZW5kbDsgcmV0dXJuIDA7IH0KYm9vbCBnIChjb25zdCBzdHJpbmcgJnMxLCBjb25zdCBzdHJpbmcgJnMyKTsKCmRlY2x0eXBlKGcpICp4eW50YShpbnQgaSkKewogICAgICAgIHJldHVybiBpICUgMiA/ICZmIDogJmc7Cn0KCmludCBtYWluKCkKewogICAgICAgIGludCBpID0gMjsKICAgICAgICBpbnQgYVtzY2FsZShpKV07CgogICAgICAgIHN0cmluZyB4ID0gInh4eCIsIHkgPSAieXl5IjsKICAgICAgICBkZWNsdHlwZShnKSAqcGYgPSBmOwogICAgICAgICgqcGYpKHgsIHkpOwp9Cgo=