struct list{int k, s; list * next, * pred;};
void del(list *p)
{
p->pred->next=p->next;
p->next->pred=p->pred;
delete(p);
}
void priv(list * ph)
{
list * p;
list *pr;
list *buf;
for (p = ph->next; p != ph; p = p->next)
{
for (pr = p->next; pr != ph; pr = pr->next)
{
if (p->s==pr->s)
{p->k= p->k+pr->k;
buf=pr->pred;
del(pr);
pr=buf;}
}
}
}
CXN0cnVjdCBsaXN0e2ludCBrLCBzOyBsaXN0ICAqIG5leHQsICogcHJlZDt9OwoKdm9pZCBkZWwobGlzdCAqcCkKewoJcC0+cHJlZC0+bmV4dD1wLT5uZXh0OwoJcC0+bmV4dC0+cHJlZD1wLT5wcmVkOwoJZGVsZXRlKHApOwp9Cgp2b2lkIHByaXYobGlzdCAqIHBoKQp7CglsaXN0ICogcDsKCWxpc3QgKnByOwoJbGlzdCAqYnVmOwogICAgZm9yIChwID0gcGgtPm5leHQ7IHAgIT0gcGg7IHAgPSBwLT5uZXh0KQogICAgewogICAgICAgIGZvciAocHIgPSBwLT5uZXh0OyBwciAhPSBwaDsgcHIgPSBwci0+bmV4dCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChwLT5zPT1wci0+cykgCgkJCXtwLT5rPSBwLT5rK3ByLT5rOyAKCQkJYnVmPXByLT5wcmVkOwoJCQlkZWwocHIpOwoJCQlwcj1idWY7fQogICAgICAgIH0KICAgIH0KfQ==
prog.c:1:24: error: unknown type name 'list'
struct list{int k, s; list * next, * pred;};
^
prog.c:3:10: error: unknown type name 'list'
void del(list *p)
^
prog.c:10:11: error: unknown type name 'list'
void priv(list * ph)
^