#include "zerop_n"
#ifndef NZ
#	include "pred_n"
#	if X == 'a'
#		if Y == 'b'
#			undef Y
#			undef Z
#			define Y	'c'
#			define Z	'b'
#			include "hanoi_core"
'a' => 'c'
#			undef X
#			undef Y
#			undef Z
#			define X	'b'
#			define Y	'a'
#			define Z	'c'
#			include "hanoi_core"
#		else
#			undef Y
#			undef Z
#			define Y	'b'
#			define Z	'c'
#			include "hanoi_core"
'a' => 'b'
#			undef X
#			undef Y
#			undef Z
#			define X	'c'
#			define Y	'a'
#			define Z	'b'
#			include "hanoi_core"
#		endif
#	elif X == 'b'
#		if Y == 'a'
#			undef Y
#			undef Z
#			define Y	'c'
#			define Z	'a'
#			include "hanoi_core"
'b' => 'c'
#			undef X
#			undef Y
#			undef Z
#			define X	'a'
#			define Y	'b'
#			define Z	'c'
#			include "hanoi_core"
#		else
#			undef Y
#			undef Z
#			define Y	'a'
#			define Z	'c'
#			include "hanoi_core"
'b' => 'a'
#			undef X
#			undef Y
#			undef Z
#			define X	'c'
#			define Y	'b'
#			define Z	'a'
#			include "hanoi_core"
#		endif
#	else
#		if Y == 'a'
#			undef Y
#			undef Z
#			define Y	'b'
#			define Z	'a'
#			include "hanoi_core"
'c' => 'b'
#			undef X
#			undef Y
#			undef Z
#			define X	'a'
#			define Y	'c'
#			define Z	'b'
#			include "hanoi_core"
#		else
#			undef Y
#			undef Z
#			define Y	'a'
#			define Z	'b'
#			include "hanoi_core"
'c' => 'a'
#			undef X
#			undef Y
#			undef Z
#			define X	'b'
#			define Y	'c'
#			define Z	'a'
#			include "hanoi_core"
#		endif
#	endif
#	include "succ_n"
#endif
