This is a very difficult puzzle, I bet you can't solve it.

Let (#) (a circled star) be called "nifty operator" which is an operator and takes two natural numbers and produces a natural number.

Here you got some definitions:

4 (#) 3 = 1, 3 (#) 4 = 4

9 (#) 2 = 4, 2 (#) 9 = 6

5 (#) 7 = 5, 7 (#) 5 = 7

2 (#) 5 = 4

8 (#) 9 = 8

4 (#) 14 = 16

Can you tell me, how is **a (#) b** defined?

You maybe want some more tips:

~~~

If a is even then a (#) a = 0

If a is odd then a (#) a = a

n (#) 1 = n

1 (#) n = 1

~~~

If you can't solve it, here is a tip:

SPOILER 1!

(#) cannot be defined for complex numbers.

SPOILER 2!

a (#) b < a+b

SPOILER 3!

a (#) b = a X b Y (a Z b) where X,Y,Z are operators

SPOILER 4!

The result is always a natural number