#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class C {};
template<class T>
class PriorityQueue {
public:
void add() { cout<<"add"<<endl; }
T remove() { cout << "general"<<endl; return T(); }
};
template<>
string PriorityQueue<string>::remove() { cout << "special"<<endl; return ""; }
int main() {
PriorityQueue<string> q;
q.remove();
q.add();
PriorityQueue<int> p;
p.remove();
p.add();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8ZnN0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEMge307IAoKdGVtcGxhdGU8Y2xhc3MgVD4KY2xhc3MgUHJpb3JpdHlRdWV1ZSB7CnB1YmxpYzoKICAgIHZvaWQgYWRkKCkgeyBjb3V0PDwiYWRkIjw8ZW5kbDsgfQogICAgVCByZW1vdmUoKSB7IGNvdXQgPDwgImdlbmVyYWwiPDxlbmRsOyByZXR1cm4gVCgpOyB9Cn07Cgp0ZW1wbGF0ZTw+CnN0cmluZyBQcmlvcml0eVF1ZXVlPHN0cmluZz46OnJlbW92ZSgpIHsgY291dCA8PCAic3BlY2lhbCI8PGVuZGw7IHJldHVybiAiIjsgfQoKCmludCBtYWluKCkgewoJUHJpb3JpdHlRdWV1ZTxzdHJpbmc+IHE7IAoJcS5yZW1vdmUoKTsgCglxLmFkZCgpOyAKCglQcmlvcml0eVF1ZXVlPGludD4gcDsgCglwLnJlbW92ZSgpOyAKCXAuYWRkKCk7IAoJCglyZXR1cm4gMDsKfQ==