#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);
int main()
{
int i = 2;
int a[scale(i)];
string x = "xxx", y = "yyy";
decltype(g) *pf = f;
(*pf)(x, y);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KI2luY2x1ZGUgPGluaXRpYWxpemVyX2xpc3Q+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3RleHByIHNpemVfdCBzeigpIHsgcmV0dXJuIDQyOyB9CmNvbnN0ZXhwciBzaXplX3Qgc2NhbGUgKHNpemVfdCBpKSB7IHJldHVybiBpICogc3ooKTsgfQoKYm9vbCBmIChjb25zdCBzdHJpbmcgJnMxLCBjb25zdCBzdHJpbmcgJnMyKSB7IGNvdXQgPDwgImZ1bmN0aW9uIGNhbGxlZCIgPDwgZW5kbDsgcmV0dXJuIDA7IH0KYm9vbCBnIChjb25zdCBzdHJpbmcgJnMxLCBjb25zdCBzdHJpbmcgJnMyKTsKCmludCBtYWluKCkKewogICAgICAgIGludCBpID0gMjsKICAgICAgICBpbnQgYVtzY2FsZShpKV07CgogICAgICAgIHN0cmluZyB4ID0gInh4eCIsIHkgPSAieXl5IjsKICAgICAgICBkZWNsdHlwZShnKSAqcGYgPSBmOwogICAgICAgICgqcGYpKHgsIHkpOwp9Cg==