/*This is by Technical Bangla from University of Dhaka*/
#include <stdio.h>
unsigned char str[ 81 ] ;
int main( )
{
int i,count,sum,check_index,valid,trailingspace_count,trailingspace_index,leadingspace_count,c= - 0 ,ret= EOF ;
while ( c! = EOF )
{
ret= scanf ( "%[^\n ]s" ,str) ;
if ( ret== EOF ) break ;
c= getchar ( ) ;
if ( ( c== '\n ' || c== ' ' ) && str[ 0 ] == 0 ) { printf ( " is incorrect.\n " ) ; c= 0 ; }
else
{
for ( i= trailingspace_count= trailingspace_index= check_index= count= sum= 0 ,valid= 1 ; str[ i] ; i++ )
{
if ( str[ i] == '0' || str[ i] == '1' || str[ i] == '2' || str[ i] == '3' || str[ i] == '4' || str[ i] == '5' || str[ i] == '6' || str[ i] == '7' || str[ i] == '8' || str[ i] == '9' || str[ i] == 'X' )
{
if ( count< 9 && str[ i] ! = 'X' )
{
count++ ;
sum+ = ( str[ i] - '0' ) * count;
}
else count++ ;
if ( count== 10 )
{
check_index= i;
if ( str[ check_index] == 'X' ) str[ check_index] = 10 + '0' ;
}
}
else if ( str[ i] < 97 && ( str[ i] ! = ' ' && str[ i] ! = '\t ' && str[ i] ! = '-' ) ) valid= 0 ;
if ( str[ i] == ' ' || str[ i] == '\t ' )
{
if ( trailingspace_count== 0 ) trailingspace_index= i;
trailingspace_count++ ;
}
else trailingspace_count= 0 ;
}
if ( trailingspace_count) str[ trailingspace_index] = 0 ;
for ( leadingspace_count= 0 ; str[ leadingspace_count] == ' ' || str[ leadingspace_count] == '\t ' ; leadingspace_count++ ) ;
if ( sum% 11 == ( str[ check_index] - '0' ) && count== 10 && valid)
{
if ( str[ check_index] == 10 + '0' ) str[ check_index] = 'X' ;
for ( i= leadingspace_count; str[ i] ; i++ ) printf ( "%c" ,str[ i] ) ;
printf ( " is correct.\n " ) ;
}
else
{
if ( str[ check_index] == 10 + '0' ) str[ check_index] = 'X' ;
for ( i= leadingspace_count; str[ i] ; i++ ) printf ( "%c" ,str[ i] ) ;
printf ( " is incorrect.\n " ) ;
}
for ( i= 0 ; str[ i] ; i++ ) str[ i] = 0 ;
}
}
return 0 ;
}
LypUaGlzIGlzIGJ5IFRlY2huaWNhbCBCYW5nbGEgZnJvbSBVbml2ZXJzaXR5IG9mIERoYWthKi8KI2luY2x1ZGUgPHN0ZGlvLmg+CnVuc2lnbmVkIGNoYXIgc3RyWzgxXTsKaW50IG1haW4oKQp7CiAgICBpbnQgaSxjb3VudCxzdW0sY2hlY2tfaW5kZXgsdmFsaWQsdHJhaWxpbmdzcGFjZV9jb3VudCx0cmFpbGluZ3NwYWNlX2luZGV4LGxlYWRpbmdzcGFjZV9jb3VudCxjPS0wLHJldD1FT0Y7CiAgICB3aGlsZShjIT1FT0YpCiAgICB7CiAgICAgICAgcmV0PXNjYW5mKCIlW15cbl1zIixzdHIpOwogICAgICAgIGlmKHJldD09RU9GKSBicmVhazsKICAgICAgICBjPWdldGNoYXIoKTsKICAgICAgICBpZigoYz09J1xuJ3x8Yz09JyAnKSYmc3RyWzBdPT0wKSB7cHJpbnRmKCIgaXMgaW5jb3JyZWN0LlxuIik7Yz0wO30KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBmb3IoaT10cmFpbGluZ3NwYWNlX2NvdW50PXRyYWlsaW5nc3BhY2VfaW5kZXg9Y2hlY2tfaW5kZXg9Y291bnQ9c3VtPTAsdmFsaWQ9MTtzdHJbaV07aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzdHJbaV09PScwJ3x8c3RyW2ldPT0nMSd8fHN0cltpXT09JzInfHxzdHJbaV09PSczJ3x8c3RyW2ldPT0nNCd8fHN0cltpXT09JzUnfHxzdHJbaV09PSc2J3x8c3RyW2ldPT0nNyd8fHN0cltpXT09JzgnfHxzdHJbaV09PSc5J3x8c3RyW2ldPT0nWCcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYoY291bnQ8OSYmc3RyW2ldIT0nWCcpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgICAgICAgICBzdW0rPShzdHJbaV0tJzAnKSpjb3VudDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSBjb3VudCsrOwogICAgICAgICAgICAgICAgICAgIGlmKGNvdW50PT0xMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2luZGV4PWk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN0cltjaGVja19pbmRleF09PSdYJykgc3RyW2NoZWNrX2luZGV4XT0xMCsnMCc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihzdHJbaV08OTcmJihzdHJbaV0hPScgJyYmc3RyW2ldIT0nXHQnJiZzdHJbaV0hPSctJykpIHZhbGlkPTA7CiAgICAgICAgICAgICAgICBpZihzdHJbaV09PScgJ3x8c3RyW2ldPT0nXHQnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKHRyYWlsaW5nc3BhY2VfY291bnQ9PTApIHRyYWlsaW5nc3BhY2VfaW5kZXg9aTsKICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ3NwYWNlX2NvdW50Kys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHRyYWlsaW5nc3BhY2VfY291bnQ9MDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZih0cmFpbGluZ3NwYWNlX2NvdW50KSBzdHJbdHJhaWxpbmdzcGFjZV9pbmRleF09MDsKICAgICAgICAgICAgZm9yKGxlYWRpbmdzcGFjZV9jb3VudD0wO3N0cltsZWFkaW5nc3BhY2VfY291bnRdPT0nICd8fHN0cltsZWFkaW5nc3BhY2VfY291bnRdPT0nXHQnO2xlYWRpbmdzcGFjZV9jb3VudCsrKTsKICAgICAgICAgICAgaWYoc3VtJTExPT0oc3RyW2NoZWNrX2luZGV4XS0nMCcpJiZjb3VudD09MTAmJnZhbGlkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzdHJbY2hlY2tfaW5kZXhdPT0xMCsnMCcpIHN0cltjaGVja19pbmRleF09J1gnOwogICAgICAgICAgICAgICAgZm9yKGk9bGVhZGluZ3NwYWNlX2NvdW50O3N0cltpXTtpKyspIHByaW50ZigiJWMiLHN0cltpXSk7CiAgICAgICAgICAgICAgICBwcmludGYoIiBpcyBjb3JyZWN0LlxuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzdHJbY2hlY2tfaW5kZXhdPT0xMCsnMCcpIHN0cltjaGVja19pbmRleF09J1gnOwogICAgICAgICAgICAgICAgZm9yKGk9bGVhZGluZ3NwYWNlX2NvdW50O3N0cltpXTtpKyspIHByaW50ZigiJWMiLHN0cltpXSk7CiAgICAgICAgICAgICAgICBwcmludGYoIiBpcyBpbmNvcnJlY3QuXG4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaT0wO3N0cltpXTtpKyspIHN0cltpXT0wOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cg==
stdin
MC04MTA0LTU2ODctNwowLTgxMDQtNTY4Ny03NDMyClRoaXMgICBqdXN0ICAgIGZvciB0ZXN0LgowLTEwMDAtOTk5OTkKMC0xMjMtNDU2Ny04OQowLTEyMy00NTY3LTg5MAoxLTExMS0xMTEtMTExCjAtODkyMzctMDEwLTYKMC04OTIzNy0wMTAtNiBURVNUClhYLTAwMDAwMDAwMDAtWFgKWFgwMDAwMDBYWFgwMDAwWFhYWFgKMTIzNDU2Nzg5MAowODIzMDI1NzEzCjAxMzE1MjQ0N1gKMDEzMTUyNDQ3eAoKMDgyMzAyNTcxCjA4MjMwMjU3MTMwCjI4MDMwMjU3MTMKMDc2MzIyMDBYMQogMDgyMzAyNTcxMwowODIzMDI1NzEzCiAgIDA4MjMwMjU3MTMKMDgyMzAyNTcxMyAgIAogICAgICAwODIzMDI1NzEzICAgICAgCjA4MiAzMDI1NzEzCjA4MjMwMjUgICAgICA3MTMKLS0wOC0yLS0tLTMwMi0tNTcxMy0tLS0tLQowODIzMDJfNTcxMwowMTMxNTI0NDdYIGJsYQowMTMtQS0xNTI0NDdYCjAtMS0zLTEtNS0yLTQtNC03LVgtIC0KMDEzMTUKMjQ0N1gKMDEtMTAKMDEtNDM0NDM1CjAxIDAxMTEgCjAxMzE1MjQgICAgIDQ3WAowXzFfMzE1MjRfNDdYCjAxMzE1MjQgCTQ3WAowMTMxNTI0NDdYCjAxMjM0NTY3ODlYCg==
0-8104-5687-7
0-8104-5687-7432
This just for test.
0-1000-99999
0-123-4567-89
0-123-4567-890
1-111-111-111
0-89237-010-6
0-89237-010-6 TEST
XX-0000000000-XX
XX000000XXX0000XXXXX
1234567890
0823025713
013152447X
013152447x
082302571
08230257130
2803025713
07632200X1
0823025713
0823025713
0823025713
0823025713
0823025713
082 3025713
0823025 713
--08-2----302--5713------
082302_5713
013152447X bla
013-A-152447X
0-1-3-1-5-2-4-4-7-X- -
01315
2447X
01-10
01-434435
01 0111
0131524 47X
0_1_31524_47X
0131524 47X
013152447X
0123456789X