

def fix_result(f):
	def wrap(*args, **kwargs):
		result = f(*args, **kwargs)
		if args[0].check(result):
			return 1
		else:
			return result
	return wrap

class A:
	def __init__(self):
		self.var = 0
	
	def check(self, var):
		return self.var == var
	
	def test(self):
		print(self.b())
		print(self.c())
	
	@fix_result
	def b(self):
		return 2
		
	@fix_result
	@classmethod
	def c(cls):
		return 3

a = A()
a.test()