%{
#include <stdio.h>
int vowel_count = 0;
%}
%%
[a-zA-Z]+ {
int len = strlen(yytext);
if (len % 2 != 0) {
int mid = len / 2;
if (yytext[mid] == 'a' || yytext[mid] == 'e' || yytext[mid] == 'i' || yytext[mid] == 'o' || yytext[mid] == 'u' ||
yytext[mid] == 'A' || yytext[mid] == 'E' || yytext[mid] == 'I' || yytext[mid] == 'O' || yytext[mid] == 'U') {
printf("%s\n", yytext);
vowel_count++;
}
}
}
.|\n ;
%%
int main() {
yylex();
printf("Total words with middle character as vowel: %d\n", vowel_count);
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCB2b3dlbF9jb3VudCA9IDA7CiV9CgolJQpbYS16QS1aXSsgICAgIHsKICAgICAgICAgICAgICAgIGludCBsZW4gPSBzdHJsZW4oeXl0ZXh0KTsKICAgICAgICAgICAgICAgIGlmIChsZW4gJSAyICE9IDApIHsKICAgICAgICAgICAgICAgICAgICBpbnQgbWlkID0gbGVuIC8gMjsKICAgICAgICAgICAgICAgICAgICBpZiAoeXl0ZXh0W21pZF0gPT0gJ2EnIHx8IHl5dGV4dFttaWRdID09ICdlJyB8fCB5eXRleHRbbWlkXSA9PSAnaScgfHwgeXl0ZXh0W21pZF0gPT0gJ28nIHx8IHl5dGV4dFttaWRdID09ICd1JyB8fAogICAgICAgICAgICAgICAgICAgICAgICB5eXRleHRbbWlkXSA9PSAnQScgfHwgeXl0ZXh0W21pZF0gPT0gJ0UnIHx8IHl5dGV4dFttaWRdID09ICdJJyB8fCB5eXRleHRbbWlkXSA9PSAnTycgfHwgeXl0ZXh0W21pZF0gPT0gJ1UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJXNcbiIsIHl5dGV4dCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZvd2VsX2NvdW50Kys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KLnxcbiAgICAgICAgICAgOwolJQoKaW50IG1haW4oKSB7CiAgICB5eWxleCgpOwogICAgcHJpbnRmKCJUb3RhbCB3b3JkcyB3aXRoIG1pZGRsZSBjaGFyYWN0ZXIgYXMgdm93ZWw6ICVkXG4iLCB2b3dlbF9jb3VudCk7CiAgICByZXR1cm4gMDsKfQo=