#include <initializer_list>
#include <iterator>
#include <cstdio>
template <class T> T minArgs(const std::initializer_list<T> &Arguments)
{
const T* Smallest = Arguments.begin();
for (const T* I = Arguments.begin(); I != Arguments.end(); ++I)
{
if (*I < *Smallest) Smallest = I;
}
return *Smallest;
}
int main()
{
int min = minArgs({12, 44, 23});
std::printf("%i\n", min);
return 0;
}
I2luY2x1ZGUgPGluaXRpYWxpemVyX2xpc3Q+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPGNzdGRpbz4KCnRlbXBsYXRlIDxjbGFzcyBUPiBUIG1pbkFyZ3MoY29uc3Qgc3RkOjppbml0aWFsaXplcl9saXN0PFQ+ICZBcmd1bWVudHMpCnsKICAgIGNvbnN0IFQqIFNtYWxsZXN0ID0gQXJndW1lbnRzLmJlZ2luKCk7CiAgICBmb3IgKGNvbnN0IFQqIEkgPSBBcmd1bWVudHMuYmVnaW4oKTsgSSAhPSBBcmd1bWVudHMuZW5kKCk7ICsrSSkKICAgIHsKICAgICAgICBpZiAoKkkgPCAqU21hbGxlc3QpIFNtYWxsZXN0ID0gSTsKICAgIH0KICAgIHJldHVybiAqU21hbGxlc3Q7Cn0KCmludCBtYWluKCkKewogICAgaW50IG1pbiA9IG1pbkFyZ3MoezEyLCA0NCwgMjN9KTsKICAgIHN0ZDo6cHJpbnRmKCIlaVxuIiwgbWluKTsKICAgIHJldHVybiAwOwp9