#include <iostream>
using namespace std;

#include <string.h>

class String; //We need to know there will be a class String for Boolean declaration

class Boolean {
    bool value = false;
    public:
        Boolean(bool value) { this -> value = value; }
        //We can't implement this yet since it requires 
        // calling String functions which haven't been declared yet
        String toString(); 
};

class String {
    char* value;
    public:
        String(const char* value) { this -> value = strdup(value); }
        //This is fine to implement since Boolean is already fully declared
        Boolean isEmpty() { return Boolean(!strcmp(value, "")); }
};

//String has been declared, now we can implement this function
String Boolean::toString() { return String(value ? "true" : "false"); }

int main() {
	// your code goes here
	return 0;
}