#include <iostream>
using namespace std;
#define eleType double
struct SequentialList {
eleType* elements;
int size;
int capacity;
};
void InitialList(SequentialList* list, int capacity) {
list->elements = new eleType[capacity];
list->size = 0;
list->capacity = capacity;
}
void DestroyList(SequentialList* list) {
delete[] list->elements;
}
bool IsEmpty(SequentialList* list) {
return list->size == 0;
}
int Size(SequentialList* list) {
return list->size;
}
void InsertElement(SequentialList* list, int index, eleType element) {
if (index <0 || index > list->size) {
throw std::invalid_argument(“invalid index”);
}
if (list->size == list->capacity) {
int Newcapacity = list->capacity * 2;
eleType* NewList = new eleType[Newcapacity];
for (int i = 0; i < list->size; i++) {
NewList[i] = list->elements[i];
}
delete[] list->elements;
list->elements = NewList;
list->capacity = Newcapacity;
}
for (int i = list->size; i > index; i–) {
list->elements[i] = list->elements[i – 1];
}
list->elements[index] = element;
list->size++;
}
void DeleteElement(SequentialList* list, int index) {
if (index < 0 || index >= list->size) {
throw std::invalid_argument(“invalid index”);
}
for (int i = index; i < list->size – 1; i++) {
list->elements[i] = list->elements[i + 1];
}
list->size–;
}
int FindIndexOfElement(SequentialList* list, eleType element) {
for (int i = 0; i < list->size; i++) {
if (element == list->elements[i]) {
return i;
}
}
return -1;
}
eleType GetElement(SequentialList* list, int index) {
if (index < 0 || index >= list->size) {
throw std::invalid_argument(“invalid index”);
}
return list->elements[index];
}
void UpdateElement(SequentialList* list, int index, eleType element) {
if (index < 0 || index >= list->size) {
throw std::invalid_argument(“invalid index”);
}
list->elements[index] = element;
}
int main() {
int n;
SequentialList s;
while (cin >> n && n) {
InitialList(&s, 1);
for (int i = 0; i < n; ++i) {
eleType x;
cin>>x;
InsertElement(&s, i, x);
}
int ncnt=0, zcnt=0, pcnt=0;
for (int i = 0; i < s.size; ++i) {
eleType num;
num = GetElement(&s, i);
if (num > 1e-8) {
pcnt++;
}
else if (num < -1e-8) {
ncnt++;
}
else {
zcnt++;
}
}
cout << ncnt << ‘ ‘ << zcnt << ‘ ‘ << pcnt<<endl;
}
return 0;
}