import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); String line
= sc.
nextLine().
trim();
// 提取 [] 中的内容
line = line.substring(line.indexOf('[') + 1, line.indexOf(']'));
if (line.length() == 0) {
return;
}
String[] parts
= line.
split(","); int[] nums = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
nums
[i
] = Integer.
parseInt(parts
[i
].
trim()); }
// 核心逻辑
Set<Integer> set = new HashSet<>();
for (int num : nums) set.add(num);
int maxLen = 0;
for (int num : set) {
if (!set.contains(num - 1)) {
int cur = num;
int len = 1;
while (set.contains(cur + 1)) {
cur++;
len++;
}
maxLen
= Math.
max(maxLen, len
); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIFN0cmluZyBsaW5lID0gc2MubmV4dExpbmUoKS50cmltKCk7CgogICAgICAgIC8vIOaPkOWPliBbXSDkuK3nmoTlhoXlrrkKICAgICAgICBsaW5lID0gbGluZS5zdWJzdHJpbmcobGluZS5pbmRleE9mKCdbJykgKyAxLCBsaW5lLmluZGV4T2YoJ10nKSk7CgogICAgICAgIGlmIChsaW5lLmxlbmd0aCgpID09IDApIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKDApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBTdHJpbmdbXSBwYXJ0cyA9IGxpbmUuc3BsaXQoIiwiKTsKICAgICAgICBpbnRbXSBudW1zID0gbmV3IGludFtwYXJ0cy5sZW5ndGhdOwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIG51bXNbaV0gPSBJbnRlZ2VyLnBhcnNlSW50KHBhcnRzW2ldLnRyaW0oKSk7CiAgICAgICAgfQoKICAgICAgICAvLyDmoLjlv4PpgLvovpEKICAgICAgICBTZXQ8SW50ZWdlcj4gc2V0ID0gbmV3IEhhc2hTZXQ8PigpOwogICAgICAgIGZvciAoaW50IG51bSA6IG51bXMpIHNldC5hZGQobnVtKTsKCiAgICAgICAgaW50IG1heExlbiA9IDA7CgogICAgICAgIGZvciAoaW50IG51bSA6IHNldCkgewogICAgICAgICAgICBpZiAoIXNldC5jb250YWlucyhudW0gLSAxKSkgewogICAgICAgICAgICAgICAgaW50IGN1ciA9IG51bTsKICAgICAgICAgICAgICAgIGludCBsZW4gPSAxOwoKICAgICAgICAgICAgICAgIHdoaWxlIChzZXQuY29udGFpbnMoY3VyICsgMSkpIHsKICAgICAgICAgICAgICAgICAgICBjdXIrKzsKICAgICAgICAgICAgICAgICAgICBsZW4rKzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBtYXhMZW4gPSBNYXRoLm1heChtYXhMZW4sIGxlbik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtYXhMZW4pOwogICAgfQp9