module _;
void main() {
	import std.stdio;
	import std.string, std.conv;
	int n = readln.strip.to!int;
	auto s = readln.strip;

	bool check(int limit, ref string co, bool doco) {
		int r = 0, b = 0;
		foreach(ch; s) {
			if (ch == '(') {
				if (r < limit) {
					r++;
					if (doco) co ~= '0';
				} else if (b < limit) {
					b++;
					if (doco) co ~='1';
				} else {
					return false;
				}
			} else {
				if (r > 0) {
					r--;
					if (doco) co ~= '0';
				} else if (b > 0) {
					b--;
					if (doco) co ~='1';
				} else {
					// impossible
					return false;
				}
			}
		}
		return true;
	}

	string ans = "";
	int l = 0, r = n;
	while (l < r-1) {
		int mid = (l+r)/2;
		if (check(mid, ans, false)) {
			r = mid;
		} else {
			l = mid;
		}
	}
	check(r, ans, true);
	writeln(ans);
}
