To spell it out explicitly, there is nothing that f2() can return that would be right.
- If f2() returns "same", that means f2() and f1() should return the same things. f1() always returns "different" so this is incorrect.
- If f2() returns "different", that means f2() and f1() should return different things. Now they are both returning the same thing, so this is also incorrect.
The logical conclusion is that function same() does not exist.