#include <vector>
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
constexpr auto p = std::make_pair(1, 2);
template<const std::pair<int, int>& pr>
void zoo()
{
constexpr int a = pr.first;
}
constexpr auto foo(const std::pair<int, int>& pr)
{
int a = pr.first;
return a;
}
constexpr auto goo(std::pair<int, int> pr)
{
int a = pr.first;
return a;
}
constexpr auto x = foo(p);
constexpr auto y = goo(p);
int main(int argc, const char * argv[])
{
zoo<p>();
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdGV4cHIgYXV0byBwID0gc3RkOjptYWtlX3BhaXIoMSwgMik7CgoKdGVtcGxhdGU8Y29uc3Qgc3RkOjpwYWlyPGludCwgaW50PiYgcHI+CnZvaWQgem9vKCkKewogICAgY29uc3RleHByIGludCBhID0gcHIuZmlyc3Q7Cn0KCmNvbnN0ZXhwciBhdXRvIGZvbyhjb25zdCBzdGQ6OnBhaXI8aW50LCBpbnQ+JiAgcHIpCnsKICAgIGludCBhID0gcHIuZmlyc3Q7CiAgICByZXR1cm4gYTsKfQoKY29uc3RleHByIGF1dG8gZ29vKHN0ZDo6cGFpcjxpbnQsIGludD4gIHByKQp7CiAgICBpbnQgYSA9IHByLmZpcnN0OwogICAgcmV0dXJuIGE7Cn0KCmNvbnN0ZXhwciBhdXRvIHggPSBmb28ocCk7CmNvbnN0ZXhwciBhdXRvIHkgPSBnb28ocCk7CgppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkKewogICAgem9vPHA+KCk7Cn0KCgo=