#include <cassert>
#include <string>
#include <iostream>

using namespace std;

enum weekday {
	SUNDAY,
	MONDAY,
	TUESDAY,
	WEDNESDAY,
	THURSDAY,
	FRIDAY,
	SATURDAY,
	WEEKDAY_SIZE
};

bool getWeekday(int index, weekday& result) {
	result = static_cast<weekday>(index);

	return index >= 0 && index < static_cast<int>(WEEKDAY_SIZE);
}

bool getName(weekday& index, string& result) {
	switch (static_cast<weekday>(index)) {
	case SUNDAY:
		result = "Sunday";
		break;
	case MONDAY:
		result = "Monday";
		break;
	case TUESDAY:
		result = "Tuesday";
		break;
	case WEDNESDAY:
		result = "Wednesday";
		break;
	case THURSDAY:
		result = "Thursday";
		break;
	case FRIDAY:
		result = "Friday";
		break;
	case SATURDAY:
		result = "Saturday";
		break;
	default:
		assert("Short Circut Failed");
		return false;
	}
	return true;
}

int main() {
	const int index = 0;
	weekday Weekday;
	string Name;

	getWeekday(index, Weekday) && getName(Weekday, Name);

	cout << Name << endl;
}