#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;
}