void add(double timestamp, int type) {
		if (type==1) {
			lock_guard<mutex> guard(mx1);
			q1.push_back(timestamp);
			cv1.notify_one();
		} else {
			lock_guard<mutex> guard(mx2);
			q2.push_back(timestamp);
			cv2.notify_one();
		}
	}
	void print(vector<double> v1, vector<double> v2) {
		int m=v1.size(), n=v2.size(), i=0, j=0;
		while (i<m || j<n) {
			if (i==m) {
				q2.push_back(v2[j++]);
				print(q1, q2);
			}
			else if (j==n) {
				q1.push_back(v1[i++]);
				print(q2, q1);
			}
			else {
				if (v1[i]<v2[j]) {
					q1.push_back(v1[i++]);
					print(q1, q2);
				} else {
					q2.push_back(v2[j++]);
					print(q2, q1);
				}
			}
		}
	}