/* 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
) { for (String str
: Arrays.
asList("046-444-286",
"06-454-286",
"046-454-286")) { System.
out.
println(str
+" > "+isValidSin
(str
)); }
}
static boolean isValidSin
(String sinNumber
) { boolean validSin = sinNumber.matches("\\d{3}-\\d{3}-\\d{3}");
if (validSin) {
String sinTwo
= sinNumber.
replace("-",
""); int sum = 0;
for (int i = 0; i < sinTwo.length(); i++) {
int digit
= Character.
getNumericValue(sinTwo.
charAt(i
)); if (i % 2 != 0) {
digit = digit * 2;
}
digit = digit / 10 + digit % 10;
sum += digit;
}
validSin = sum % 10 == 0;
}
return validSin;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBmb3IgKFN0cmluZyBzdHIgOiBBcnJheXMuYXNMaXN0KCIwNDYtNDQ0LTI4NiIsICIwNi00NTQtMjg2IiwgIjA0Ni00NTQtMjg2IikpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHN0cisiID4gIitpc1ZhbGlkU2luKHN0cikpOwogICAgICAgIH0KICAgIH0KCiAgICBzdGF0aWMgYm9vbGVhbiBpc1ZhbGlkU2luKFN0cmluZyBzaW5OdW1iZXIpIHsKICAgICAgICBib29sZWFuIHZhbGlkU2luID0gc2luTnVtYmVyLm1hdGNoZXMoIlxcZHszfS1cXGR7M30tXFxkezN9Iik7CgogICAgICAgIGlmICh2YWxpZFNpbikgewogICAgICAgICAgICBTdHJpbmcgc2luVHdvID0gc2luTnVtYmVyLnJlcGxhY2UoIi0iLCAiIik7CiAgICAgICAgICAgIGludCBzdW0gPSAwOwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpblR3by5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgICAgICAgICBpbnQgZGlnaXQgPSBDaGFyYWN0ZXIuZ2V0TnVtZXJpY1ZhbHVlKHNpblR3by5jaGFyQXQoaSkpOwogICAgICAgICAgICAgICAgaWYgKGkgJSAyICE9IDApIHsKICAgICAgICAgICAgICAgICAgICBkaWdpdCA9IGRpZ2l0ICogMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRpZ2l0ID0gZGlnaXQgLyAxMCArIGRpZ2l0ICUgMTA7CiAgICAgICAgICAgICAgICBzdW0gKz0gZGlnaXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFsaWRTaW4gPSBzdW0gJSAxMCA9PSAwOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHZhbGlkU2luOwogICAgfQoKfQ==