/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) { int n = 16;
generateThueMorse(n);
}
public static void generateThueMorse(int n) {
StringBuilder sequence = new StringBuilder("0");
while (sequence.length() < n) {
StringBuilder complement = new StringBuilder();
for (int i = 0; i < sequence.length(); i++) {
if (sequence.charAt(i) == '0') {
complement.append('1');
} else {
complement.append('0');
}
}
sequence.append(complement);
}
System.
out.
println("Thue-Morse sequence of length " + n
+ ": " + sequence.
substring(0, n
)); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKaW50IG4gPSAxNjsgCmdlbmVyYXRlVGh1ZU1vcnNlKG4pOwp9CgogcHVibGljIHN0YXRpYyB2b2lkIGdlbmVyYXRlVGh1ZU1vcnNlKGludCBuKSB7CiBTdHJpbmdCdWlsZGVyIHNlcXVlbmNlID0gbmV3IFN0cmluZ0J1aWxkZXIoIjAiKTsKIHdoaWxlIChzZXF1ZW5jZS5sZW5ndGgoKSA8IG4pIHsKIFN0cmluZ0J1aWxkZXIgY29tcGxlbWVudCA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiBmb3IgKGludCBpID0gMDsgaSA8IHNlcXVlbmNlLmxlbmd0aCgpOyBpKyspIHsKIGlmIChzZXF1ZW5jZS5jaGFyQXQoaSkgPT0gJzAnKSB7CiBjb21wbGVtZW50LmFwcGVuZCgnMScpOwp9IGVsc2Ugewpjb21wbGVtZW50LmFwcGVuZCgnMCcpOwp9CiB9CiBzZXF1ZW5jZS5hcHBlbmQoY29tcGxlbWVudCk7Cn0KU3lzdGVtLm91dC5wcmludGxuKCJUaHVlLU1vcnNlIHNlcXVlbmNlIG9mIGxlbmd0aCAiICsgbiArICI6ICIgKyBzZXF1ZW5jZS5zdWJzdHJpbmcoMCwgbikpOwogfQoKfQ==