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