public Node findLoopStart(Node head) {
		Node fast = head;
		Node slow = head;
		while (fast != null && fast.next != null) {
			fast = fast.next.next;
			slow = slow.next;
			if (fast == slow) {
				break;
			}

		}

		if (fast != slow)
			return null;

		slow = head;
		while (slow != null && fast != null) {
			if (slow == fast)
				break;
			slow = slow.next;
			fast = fast.next;
		}
		return slow;
	}