%{ 
#include < stdio. h> 
#include < stdlib. h> 
int is_prime( int n)  { 
    if ( n <=  1 )  return 0 ;   //  Numbers less than or equal to 1  are not prime
    for ( int i =  2 ;  i *  i <=  n;  i++ )  { 
        if ( n % i == 0) return 0;  // If divisible, not a prime number 
    } 
    return 1 ;   //  It's prime 
} 
%} 
 
%% 
[0-9]+ { number = atoi(yytext); }  // Capture the number entered 
.|\n    { }                         // Ignore other characters or newlines 
%% 
 
int main() { 
    printf("Enter a number: "); 
    yylex();  // Start Lex scanning 
    if (is_prime(number)) { 
        printf("%d is a prime number.\n", number); 
    } else { 
        printf("%d is not a prime number.\n", number); 
    } 
    return 0; 
} 
 
 
				JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KaW50IG51bWJlciA9IDA7CmludCBpc19wcmltZShpbnQgbikgewogICAgaWYgKG4gPD0gMSkgcmV0dXJuIDA7ICAvLyBOdW1iZXJzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxIGFyZSBub3QgcHJpbWUKICAgIGZvciAoaW50IGkgPSAyOyBpICogaSA8PSBuOyBpKyspIHsKICAgICAgICBpZiAobiAlIGkgPT0gMCkgcmV0dXJuIDA7ICAvLyBJZiBkaXZpc2libGUsIG5vdCBhIHByaW1lIG51bWJlcgogICAgfQogICAgcmV0dXJuIDE7ICAvLyBJdCdzIHByaW1lCn0KJX0KCiUlClswLTldKyB7IG51bWJlciA9IGF0b2koeXl0ZXh0KTsgfSAgLy8gQ2FwdHVyZSB0aGUgbnVtYmVyIGVudGVyZWQKLnxcbiAgICB7IH0gICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWdub3JlIG90aGVyIGNoYXJhY3RlcnMgb3IgbmV3bGluZXMKJSUKCmludCBtYWluKCkgewogICAgcHJpbnRmKCJFbnRlciBhIG51bWJlcjogIik7CiAgICB5eWxleCgpOyAgLy8gU3RhcnQgTGV4IHNjYW5uaW5nCiAgICBpZiAoaXNfcHJpbWUobnVtYmVyKSkgewogICAgICAgIHByaW50ZigiJWQgaXMgYSBwcmltZSBudW1iZXIuXG4iLCBudW1iZXIpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIiVkIGlzIG5vdCBhIHByaW1lIG51bWJlci5cbiIsIG51bWJlcik7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=