/* public class ListNode { int val; ListNode next = null;

ListNode(int val) {
    this.val = val;
}

} */ public class Solution {

public ListNode EntryNodeOfLoop(ListNode pHead) {
    if(pHead==null||pHead.next==null){
        return null;
    }
    ListNode fast = pHead;
    ListNode slow = pHead;
    while(fast!=null){
        fast=fast.next.next;
        slow=slow.next;
        if(fast==slow){
            break;
        }
    }
    if(fast==null){
        return null;
    }
    while(pHead!=slow){
        pHead=pHead.next;
        slow=slow.next;
    }
    return pHead;
}

}