while cur:
        d[cur] = 1
        cur = cur.next

    cur = B
    while cur:
        if cur in d:
            return cur
        else:
            d[cur] = 1
        cur = cur.next
    return None


if __name__ == "__main__":
    l1 = sLL()
    l2 = sLL()
    for i in range(10, 60, 10):
        l1.push(i)
    inter = None
    for j in range(1, 10, 1):
        l2.push(j)

    node = l1.head.next.next.next
    node.next = l2.head.next.next

    print(f'Linked list 1 :', l1)
    print(f'\nLinked List 2 :', l2)
    ans = getIntersectionNode(l1.head, l2.head)
    print(f'\nCommon part')
    ans.displayTillEnd()
    temp = node
    while temp and count:
        temp = temp.next
        count -= 1

    if count == 0:
        count = k
        prev, cur = None, node
        while count and cur:
            count -= 1
            next, cur.next = cur.next, prev
            prev, cur = cur, next
        if cur:
            node.next = rev(cur, k)
        return prev
    else:
        return node


if __name__ == "__main__":
    n = 9
    g = 3
    arrAns(n, g)

    ll = sLL()
    for i in range(1, n + 1):
        ll.push(i)
    ll.head.displayTillEnd()
    ll.head = rev(ll.head, g)
    print(ll)