import sys

sys.setrecursionlimit(10 ** 6)

# input = sys.stdin.readline    ####

int1 = lambda x: int(x) - 1

def II(): return int(eval(input()))



def MI(): return list(map(int, input().split()))

def MI1(): return list(map(int1, input().split()))



def LI(): return list(map(int, input().split()))

def LI1(): return list(map(int1, input().split()))

def LLI(rows_number): return [LI() for _ in range(rows_number)]



INF = float('inf')



def solve():

    n = II()

    ans = 0

    for i in range(1, n+1):

        if i % 3 != 0 and i % 5 != 0 and i % 15 != 0:

            ans += i



    print(ans)



if __name__ == '__main__':

    solve()

import sys

sys.setrecursionlimit(10 ** 9)

# input = sys.stdin.readline    ####

def int1(x): return int(x) - 1

def II(): return int(eval(input()))

def MI(): return list(map(int, input().split()))

def MI1(): return list(map(int1, input().split()))

def LI(): return list(map(int, input().split()))

def LI1(): return list(map(int1, input().split()))

def LLI(rows_number): return [LI() for _ in range(rows_number)]

def MS(): return input().split()

def LS(): return list(eval(input()))

def LLS(rows_number): return [LS() for _ in range(rows_number)]

def printlist(lst, k=' '): print((k.join(list(map(str, lst)))))

INF = float('inf')

# from math import ceil, floor, log2

# from collections import deque

# from itertools import combinations as comb, combinations_with_replacement as comb_w, accumulate, product, permutations

# from heapq import heapify, heappop, heappush

# import numpy as np    # cumsum

# from bisect import bisect_left, bisect_right



def solve():

    N = II()

    ans = 0

    for i in range(1, N+1):

        if i % 3 == 0 or i % 5 == 0 : continue

        ans = ans + i

    print(ans)



if __name__ == '__main__':

    solve()

import sys

sys.setrecursionlimit(10**6)
# input = sys.stdin.readline    ####
int1 = lambda x: int(x) - 1


def II():
    return int(eval(input()))


def MI():
    return list(map(int, input().split()))


def MI1():
    return list(map(int1, input().split()))


def LI():
    return list(map(int, input().split()))


def LI1():
    return list(map(int1, input().split()))


def LLI(rows_number):
    return [LI() for _ in range(rows_number)]


INF = float("inf")


def solve():
    n = II()
    ans = 0
    for i in range(1, n + 1):
        if i % 3 != 0 and i % 5 != 0 and i % 15 != 0:
            ans += i
    print(ans)


if __name__ == "__main__":
    solve()

import sys

sys.setrecursionlimit(10**9)
# input = sys.stdin.readline    ####
def int1(x):
    return int(x) - 1


def II():
    return int(eval(input()))


def MI():
    return list(map(int, input().split()))


def MI1():
    return list(map(int1, input().split()))


def LI():
    return list(map(int, input().split()))


def LI1():
    return list(map(int1, input().split()))


def LLI(rows_number):
    return [LI() for _ in range(rows_number)]


def MS():
    return input().split()


def LS():
    return list(eval(input()))


def LLS(rows_number):
    return [LS() for _ in range(rows_number)]


def printlist(lst, k=" "):
    print((k.join(list(map(str, lst)))))


INF = float("inf")
# from math import ceil, floor, log2
# from collections import deque
# from itertools import combinations as comb, combinations_with_replacement as comb_w, accumulate, product, permutations
# from heapq import heapify, heappop, heappush
# import numpy as np    # cumsum
# from bisect import bisect_left, bisect_right
def solve():
    N = II()
    ans = 0
    for i in range(1, N + 1):
        if i % 3 == 0 or i % 5 == 0:
            continue
        ans = ans + i
    print(ans)


if __name__ == "__main__":
    solve()

-sys.setrecursionlimit(10**6) +sys.setrecursionlimit(10**9) -int1 = lambda x: int(x) - 1 +def int1(x): +    return int(x) - 1 -INF = float("inf") +def MS(): +    return input().split() +def LS(): +    return list(eval(input())) + + +def LLS(rows_number): +    return [LS() for _ in range(rows_number)] + + +def printlist(lst, k=" "): +    print((k.join(list(map(str, lst))))) + + +INF = float("inf") +# from math import ceil, floor, log2 +# from collections import deque +# from itertools import combinations as comb, combinations_with_replacement as comb_w, accumulate, product, permutations +# from heapq import heapify, heappop, heappush +# import numpy as np    # cumsum +# from bisect import bisect_left, bisect_right -    n = II() +    N = II() -    for i in range(1, n + 1): -        if i % 3 != 0 and i % 5 != 0 and i % 15 != 0: -            ans += i +    for i in range(1, N + 1): +        if i % 3 == 0 or i % 5 == 0: +            continue +        ans = ans + i