/* 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
) { String n
= "hello\nworld\nhow\nare\nyou?"; String r
= "hello\rworld\rhow\rare\ryou?"; String rn
= "hello\r\nworld\r\nhow\r\nare\r\nyou?"; System.
out.
println(substring
(n,
0,
2)); System.
out.
println(substring
(r,
0,
2)); System.
out.
println(substring
(rn,
0,
2)); System.
out.
println(substring
(n,
1,
3)); System.
out.
println(substring
(r,
1,
3)); System.
out.
println(substring
(rn,
1,
3)); System.
out.
println(substring
(n,
3,
0)); System.
out.
println(substring
(r,
3,
0)); System.
out.
println(substring
(rn,
3,
0)); }
public static String substring
(String text,
int line,
int character
) { int pos = 0;
char sep = 0;
while (line > 0) {
char c = text.charAt(pos++);
if (c == '\n' || c == '\r') {
if (sep == 0)
sep = c;
if (c == sep)
line--;
}
}
char c = text.charAt(pos);
if (c != sep && (c == '\n' || c == '\r'))
pos++;
return text.substring(0, pos + character);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQlTdHJpbmcgbiA9ICJoZWxsb1xud29ybGRcbmhvd1xuYXJlXG55b3U/IjsKCQlTdHJpbmcgciA9ICJoZWxsb1xyd29ybGRccmhvd1xyYXJlXHJ5b3U/IjsKCQlTdHJpbmcgcm4gPSAiaGVsbG9cclxud29ybGRcclxuaG93XHJcbmFyZVxyXG55b3U/IjsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc3Vic3RyaW5nKG4sIDAsIDIpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc3Vic3RyaW5nKHIsIDAsIDIpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc3Vic3RyaW5nKHJuLCAwLCAyKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKHN1YnN0cmluZyhuLCAxLCAzKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKHN1YnN0cmluZyhyLCAxLCAzKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKHN1YnN0cmluZyhybiwgMSwgMykpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihzdWJzdHJpbmcobiwgMywgMCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihzdWJzdHJpbmcociwgMywgMCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihzdWJzdHJpbmcocm4sIDMsIDApKTsKCX0KCglwdWJsaWMgc3RhdGljIFN0cmluZyBzdWJzdHJpbmcoU3RyaW5nIHRleHQsIGludCBsaW5lLCBpbnQgY2hhcmFjdGVyKSB7CgkJaW50IHBvcyA9IDA7CgkJY2hhciBzZXAgPSAwOwoJCXdoaWxlIChsaW5lID4gMCkgewoJCQljaGFyIGMgPSB0ZXh0LmNoYXJBdChwb3MrKyk7CgkJCWlmIChjID09ICdcbicgfHwgYyA9PSAnXHInKSB7CgkJCQlpZiAoc2VwID09IDApCgkJCQkJc2VwID0gYzsKCQkJCWlmIChjID09IHNlcCkKCQkJCQlsaW5lLS07CgkJCX0KCQl9CgkJY2hhciBjID0gdGV4dC5jaGFyQXQocG9zKTsKCQlpZiAoYyAhPSBzZXAgJiYgKGMgPT0gJ1xuJyB8fCBjID09ICdccicpKQoJCQlwb3MrKzsKCQlyZXR1cm4gdGV4dC5zdWJzdHJpbmcoMCwgcG9zICsgY2hhcmFjdGVyKTsKCX0KCn0=