#include <iostream>
using namespace std;
void partition(int *a, int n, int pivot, int &lessCount, int &equalCount)
{
int *tmp = new int[n];
int k = 0;
lessCount = 0;
equalCount = 0;
for (int i = 0; i < n; i++)
if (a[i] < pivot) {
tmp[k++] = a[i];
lessCount++;
}
for (int i = 0; i < n; i++)
if (a[i] == pivot) {
tmp[k++] = a[i];
equalCount++;
}
for (int i = 0; i < n; i++)
if (a[i] > pivot)
tmp[k++] = a[i];
for (int i = 0; i < n; i++)
a[i] = tmp[i];
delete[] tmp;
}
int main()
{
int n, pivot, lessCount, equalCount;
cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++)
cin >> a[i];
cin >> pivot;
partition(a, n, pivot, lessCount, equalCount);
cout << "Rearranged:";
for (int i = 0; i < n; i++)
cout << " " << a[i];
cout << "\n";
cout << "Less: " << lessCount << ", Equal: " << equalCount
<< ", Greater: " << n - lessCount - equalCount << "\n";
delete[] a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwYXJ0aXRpb24oaW50ICphLCBpbnQgbiwgaW50IHBpdm90LCBpbnQgJmxlc3NDb3VudCwgaW50ICZlcXVhbENvdW50KQp7CiAgICBpbnQgKnRtcCA9IG5ldyBpbnRbbl07CiAgICBpbnQgayA9IDA7CgogICAgbGVzc0NvdW50ID0gMDsKICAgIGVxdWFsQ291bnQgPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSAgICAgICAgICAKICAgICAgICBpZiAoYVtpXSA8IHBpdm90KSB7CiAgICAgICAgICAgIHRtcFtrKytdID0gYVtpXTsKICAgICAgICAgICAgbGVzc0NvdW50Kys7CiAgICAgICAgfQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspICAgICAgICAgIAogICAgICAgIGlmIChhW2ldID09IHBpdm90KSB7CiAgICAgICAgICAgIHRtcFtrKytdID0gYVtpXTsKICAgICAgICAgICAgZXF1YWxDb3VudCsrOwogICAgICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSAgICAgICAgICAKICAgICAgICBpZiAoYVtpXSA+IHBpdm90KQogICAgICAgICAgICB0bXBbaysrXSA9IGFbaV07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgYVtpXSA9IHRtcFtpXTsKCiAgICBkZWxldGVbXSB0bXA7Cn0KCmludCBtYWluKCkKewogICAgaW50IG4sIHBpdm90LCBsZXNzQ291bnQsIGVxdWFsQ291bnQ7CgogICAgY2luID4+IG47CiAgICBpbnQgKmEgPSBuZXcgaW50W25dOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IGFbaV07CiAgICBjaW4gPj4gcGl2b3Q7CgogICAgcGFydGl0aW9uKGEsIG4sIHBpdm90LCBsZXNzQ291bnQsIGVxdWFsQ291bnQpOwoKICAgIGNvdXQgPDwgIlJlYXJyYW5nZWQ6IjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIGNvdXQgPDwgIiAiIDw8IGFbaV07CiAgICBjb3V0IDw8ICJcbiI7CiAgICBjb3V0IDw8ICJMZXNzOiAiIDw8IGxlc3NDb3VudCA8PCAiLCBFcXVhbDogIiA8PCBlcXVhbENvdW50CiAgICAgICAgIDw8ICIsIEdyZWF0ZXI6ICIgPDwgbiAtIGxlc3NDb3VudCAtIGVxdWFsQ291bnQgPDwgIlxuIjsKCiAgICBkZWxldGVbXSBhOwogICAgcmV0dXJuIDA7Cn0K