def solution(n, target):
    """
    Efficient Solution for Sum Multiple of 3 or 5
    
    >>> solution(3)
    0
    >>> solution(4)
    3
    >>> solution(10)
    23
    >>> solution(-7)
    0
    >>> solution(7000)
    11432168
    >>> solution(100000000000000000000)
    2333333333333333333316666666666666666668
    >>> solution(7000000000000000000000000000000)
    11433333333333333333333333333332166666666666666666666666666668
    >>> solution(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)
    23333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333321666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666669
   
    Note : Non-efffcient solution display MemoryError 
   """
    if target > 0:  # check for positive or negative
        p = target // n
        return (n * (p * (p + 1))) // 2
    else:
        return 0