%{
#include <stdio.h>
#include <stdlib.h>
int number = 0;
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;
}
