double test1() {
	int p0 = 4;
	int p1 = 0;
	int p2 = 4;
	string p3 = "D";
	FoxAndMountainEasy * obj = new FoxAndMountainEasy();
	clock_t start = clock();
	string my_answer = obj->possible(p0, p1, p2, p3);
	clock_t end = clock();
	delete obj;
	cout <<"Time: " <<(double)(end-start)/CLOCKS_PER_SEC <<" seconds" <<endl;
	string p4 = "NO";
	cout <<"Desired answer: " <<endl;
	cout <<"\t\"" << p4 <<"\"" <<endl;
	cout <<"Your answer: " <<endl;
	cout <<"\t\"" << my_answer<<"\"" <<endl;
	if (p4 != my_answer) {
		cout <<"DOESN'T MATCH!!!!" <<endl <<endl;
		return -1;
	}
	else {
		cout <<"Match :-)" <<endl <<endl;
		return (double)(end-start)/CLOCKS_PER_SEC;
	}
}
// BEGIN KAWIGIEDIT TESTING
// Generated by KawigiEdit 2.1.4 (beta) modified by pivanof
bool KawigiEdit_RunTest(int testNum, int p0, int p1, int p2, string p3, bool hasAnswer, string p4) {
	cout << "Test " << testNum << ": [" << p0 << "," << p1 << "," << p2 << "," << "\"" << p3 << "\"";
	cout << "]" << endl;
	FoxAndMountainEasy *obj;
	string answer;
	obj = new FoxAndMountainEasy();
	clock_t startTime = clock();
	answer = obj->possible(p0, p1, p2, p3);
	clock_t endTime = clock();
	delete obj;
	bool res;
	res = true;
	cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl;
	if (hasAnswer) {
		cout << "Desired answer:" << endl;
		cout << "\t" << "\"" << p4 << "\"" << endl;
	}
	cout << "Your answer:" << endl;
	cout << "\t" << "\"" << answer << "\"" << endl;
	if (hasAnswer) {
		res = answer == p4;
	}
	if (!res) {
		cout << "DOESN'T MATCH!!!!" << endl;
	} else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) {
		cout << "FAIL the timeout" << endl;
		res = false;
	} else if (hasAnswer) {
		cout << "Match :-)" << endl;
	} else {
		cout << "OK, but is it right?" << endl;
	}
	cout << "" << endl;
	return res;
}
int main( int argc, char* argv[] ) {
    {
        FoxAndMountainEasy theObject;
        eq(0, theObject.possible(4, 0, 4, "UU"),"YES");
    }
    {
        FoxAndMountainEasy theObject;
        eq(1, theObject.possible(4, 0, 4, "D"),"NO");
    }
    {
        FoxAndMountainEasy theObject;
        eq(2, theObject.possible(4, 100000, 100000, "DDU"),"YES");
    }
    {
        FoxAndMountainEasy theObject;
        eq(3, theObject.possible(4, 0, 0, "DDU"),"NO");
    }
    {
        FoxAndMountainEasy theObject;
        eq(4, theObject.possible(20, 20, 20, "UDUDUDUDUD"),"YES");
    }
    {
        FoxAndMountainEasy theObject;
        eq(5, theObject.possible(20, 0, 0, "UUUUUUUUUU"),"YES");
    }
    {
        FoxAndMountainEasy theObject;
        eq(6, theObject.possible(20, 0, 0, "UUUUUUUUUUU"),"NO");
    }
  return 0;
}