code: def first_cyclic_node(head):
      
      runner = walker = head
      while runner and runner.next:
          runner = runner.next.next
          walker = walker.next
          if runner is walker:
              break
  
      if runner is None or runner.next is None:
          return None
  
      walker = head
      while runner is not walker:
          runner, walker = runner.next, walker.next
      return runner
docs: :type head: Node
      :rtype: Node