#include <iostream>
using namespace std;
template<typename K, typename V> class SortedList;
template<typename K, typename V> std::ostream& operator<< (std::ostream& o, const SortedList<K,V>& x);
template <typename K, typename V>
struct Node
{
K key;
V value;
Node<K, V>* next;
};
template <typename K, typename V>
class SortedList
{
friend ostream& operator << <>(ostream&, const SortedList&);
public:
SortedList(){}
SortedList(const SortedList&){}
SortedList& operator = (const SortedList&){}
~SortedList(){}
void addItem(const K&, const V&){}
void removeElem(const K&){}
void removeAt(int){}
bool remove(const K&){}
private:
Node<K, V>* start;
size_t n;
};
std::ostream& operator<< (std::ostream& o, const SortedList<int,int>& x)
{
o << "Aloha" << endl;
return o;
}
int main() {
SortedList<int, int> lst, lst2;
int a = 2;
lst.addItem(2, 3);
cout << lst << endl;
return 0;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgSywgdHlwZW5hbWUgVj4gY2xhc3MgU29ydGVkTGlzdDsKdGVtcGxhdGU8dHlwZW5hbWUgSywgdHlwZW5hbWUgVj4gc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8IChzdGQ6Om9zdHJlYW0mIG8sIGNvbnN0IFNvcnRlZExpc3Q8SyxWPiYgeCk7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgSywgdHlwZW5hbWUgVj4Kc3RydWN0IE5vZGUKewogICAgSyBrZXk7CiAgICBWIHZhbHVlOwogICAgTm9kZTxLLCBWPiogbmV4dDsKfTsKdGVtcGxhdGUgPHR5cGVuYW1lIEssIHR5cGVuYW1lIFY+CmNsYXNzIFNvcnRlZExpc3QKewpmcmllbmQgb3N0cmVhbSYgb3BlcmF0b3IgPDwgPD4ob3N0cmVhbSYsIGNvbnN0IFNvcnRlZExpc3QmKTsKcHVibGljOgoKICAgIFNvcnRlZExpc3QoKXt9CiAgICBTb3J0ZWRMaXN0KGNvbnN0IFNvcnRlZExpc3QmKXt9CiAgICBTb3J0ZWRMaXN0JiBvcGVyYXRvciA9IChjb25zdCBTb3J0ZWRMaXN0Jil7fQogICAgflNvcnRlZExpc3QoKXt9CgogICAgdm9pZCBhZGRJdGVtKGNvbnN0IEsmLCBjb25zdCBWJil7fQogICAgdm9pZCByZW1vdmVFbGVtKGNvbnN0IEsmKXt9CiAgICB2b2lkIHJlbW92ZUF0KGludCl7fQogICAgYm9vbCByZW1vdmUoY29uc3QgSyYpe30KCgpwcml2YXRlOgoKICAgIE5vZGU8SywgVj4qIHN0YXJ0OwogICAgc2l6ZV90IG47Cgp9OwpzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwgKHN0ZDo6b3N0cmVhbSYgbywgY29uc3QgU29ydGVkTGlzdDxpbnQsaW50PiYgeCkKewoJbyA8PCAiQWxvaGEiIDw8IGVuZGw7CglyZXR1cm4gbzsKfQoKaW50IG1haW4oKSB7CglTb3J0ZWRMaXN0PGludCwgaW50PiBsc3QsIGxzdDI7CiAgICBpbnQgYSA9IDI7CiAgICBsc3QuYWRkSXRlbSgyLCAzKTsKICAgIGNvdXQgPDwgbHN0IDw8IGVuZGw7CiAgICByZXR1cm4gMDsKCXJldHVybiAwOwp9