#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
bool solution (int *Array, size_t n) {
for (size_t i = 0; i < n; ++i) {
if (Array[i] < 1 || Array[i] > n)
return false;
}
for (size_t i = 0; i < n; ++i) {
cout << Array[i] - 1 << '\n';
if (Array[abs(Array[i]) - 1] < 0)
return false;
Array[abs(Array[i]) - 1] *= (-1);
}
for (size_t i = 0; i < n; ++i) {
if (Array[i] > 0)
return false;
}
return true;
}
int main () {
int A[] = {4, 5, 1, 3, 2, 7, 6, 8};
cout << solution(A, 8);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxjc3RkbGliPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgc29sdXRpb24gKGludCAqQXJyYXksIHNpemVfdCBuKSB7CiAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGlmIChBcnJheVtpXSA8IDEgfHwgQXJyYXlbaV0gPiBuKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBjb3V0IDw8IEFycmF5W2ldIC0gMSA8PCAnXG4nOwogICAgICAgIGlmIChBcnJheVthYnMoQXJyYXlbaV0pIC0gMV0gPCAwKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIEFycmF5W2FicyhBcnJheVtpXSkgLSAxXSAqPSAoLTEpOwogICAgfQoKICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgaWYgKEFycmF5W2ldID4gMCkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluICgpIHsKICAgIGludCBBW10gPSB7NCwgNSwgMSwgMywgMiwgNywgNiwgOH07CiAgICBjb3V0IDw8IHNvbHV0aW9uKEEsIDgpOwogICAgcmV0dXJuIDA7Cn0=