def first_cyclic_node(head):
runner = walker = head<EOL>while runner and runner.next:<EOL><INDENT>runner = runner.next.next<EOL>walker = walker.next<EOL>if runner is walker:<EOL><INDENT>break<EOL><DEDENT><DEDENT>if runner is None or runner.next is None:<EOL><INDENT>return None<EOL><DEDENT>walker = head<EOL>while runner is not walker:<EOL><INDENT>runner, walker = runner.next, walker.next<EOL><DEDENT>return runner<EOL>
:type head: Node
:rtype: Node