#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[] = { 4, 6, -1, 12, 0, -2, 7, 3 };
int x = a[0], y = a[1], z = a[2];
size_t n = sizeof a / sizeof *a;
if (x > y) swap(x, y);
if (x > z) swap(x, z);
if (y > z) swap(y, z);
for (size_t q=3; q<n; ++q)
if (a[q] >= y)
{
x = y;
if (a[q] > z)
y = z, z = a[q];
else
y = a[q];
}
else if (a[q] > x)
x = a[q];
cout << x << ' ' << y << ' ' << z << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogIGludCBhW10gPSB7IDQsIDYsIC0xLCAxMiwgMCwgLTIsIDcsIDMgfTsKICBpbnQgeCA9IGFbMF0sIHkgPSBhWzFdLCB6ID0gYVsyXTsKICAKICBzaXplX3QgbiA9IHNpemVvZiBhIC8gc2l6ZW9mICphOwogIAogIGlmICh4ID4geSkgc3dhcCh4LCB5KTsKICBpZiAoeCA+IHopIHN3YXAoeCwgeik7CiAgaWYgKHkgPiB6KSBzd2FwKHksIHopOwoKICBmb3IgKHNpemVfdCBxPTM7IHE8bjsgKytxKQogICAgaWYgKGFbcV0gPj0geSkKICAgIHsKICAgICAgeCA9IHk7CgogICAgICBpZiAoYVtxXSA+IHopCiAgICAgICAgeSA9IHosIHogPSBhW3FdOwogICAgICBlbHNlCiAgICAgICAgeSA9IGFbcV07CiAgICB9CiAgICBlbHNlIGlmIChhW3FdID4geCkKICAgICAgeCA9IGFbcV07CgogIGNvdXQgPDwgeCA8PCAnICcgPDwgeSA8PCAnICcgPDwgeiA8PCBlbmRsOwoKICByZXR1cm4gMDsKfQ==