#include <stdio.h>
void state_init() { printf("Init"); }
void state_load() { printf("Load"); }
void state_execute() { printf("Execute"); }
void state_exit() { printf("Exit"); }
void reverse(int *arr, int start, int end) {
while (start < end) {
// Swap elements at positions start and end
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
// Your logic here
void run_state_sequence(int start) {
// Implement using function pointer array
void (*state[4])(void) = {state_init,state_load,state_execute,state_exit};
int arr[4] = {0,1,2,3};
reverse(arr,0,start-1);
reverse(arr,start,4-1);
reverse(arr,0,4-1);
for(int i = 0;i<3;i++)
{
// printf("%d",arr[i]);
state[arr[i]]();
if(i<2)
printf("\n");
}
}
int main() {
int start;
scanf("%d", &start);
run_state_sequence(start);
return 0;
}