<script>
var
state_transition = [];
function
q1(s, i) {
state_transition.push(
"q1"
);
if
(i === s.length) {
return
false
;
}
if
(s[i] ===
"a"
)
return
q1(s, i + 1);
else
return
q2(s, i + 1);
}
function
q2(s, i) {
state_transition.push(
"q2"
);
if
(i === s.length) {
return
true
;
}
if
(s[i] ===
"a"
)
return
q1(s, i + 1);
else
return
q2(s, i + 1);
}
function
q3(s, i) {
state_transition.push(
"q3"
);
if
(i === s.length) {
return
false
;
}
if
(s[i] ===
"a"
)
return
q4(s, i + 1);
else
return
q3(s, i + 1);
}
function
q4(s, i) {
state_transition.push(
"q4"
);
if
(i === s.length) {
return
true
;
}
if
(s[i] ===
"a"
)
return
q4(s, i + 1);
else
return
q3(s, i + 1);
}
function
q0(s, i) {
state_transition.push(
"q0"
);
if
(i === s.length) {
return
false
;
}
if
(s[i] ===
"a"
)
return
q1(s, i + 1);
else
return
q3(s, i + 1);
}
var
s =
"ababab"
;
var
ans = q0(s, 0);
if
(ans ===
true
) {
document.write(
"YES <br>"
);
for
(
var
index = 0; index < state_transition.length; index++) {
document.write(state_transition[index] +
" "
);
}
}
else
document.write(
"NO"
);
</script>