#include <stdio.h>

#define FUNC(N) void f##N(void) {printf("from %d\n",N);}
#define f(N) f##N()
// 定義 function
FUNC(0) FUNC(1) FUNC(2) FUNC(3) FUNC(4) FUNC(5) FUNC(6) FUNC(7) 
FUNC(8) FUNC(9) FUNC(10) FUNC(11) FUNC(12) FUNC(13) FUNC(14) FUNC(15) 
int main()
{
	char input[1000];
	typedef void (*fptr)(void);
	fptr exe_fun[]={f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15};
	
	printf("input binary code (4bits):");
	while(scanf("%s", input)==1){
		unsigned dec = 
			(((input[3]=='1') << 0) | 
			 ((input[2]=='1') << 1) | 
			 ((input[1]=='1') << 2) |
			 ((input[0]=='1') << 3) );
				
		exe_fun[dec]();
		printf("input binary code (4bits):");
	}
	return 0;
}