import sys
readline = sys.stdin.buffer.readline
sys.setrecursionlimit(10 ** 8)
INF = float('inf')
MOD = 10 ** 9 + 7

def main():
    A, P = map(int, readline().split())
    print((3*A+P)//2)

if __name__ == '__main__':
    main() import sys sys readline = sys.stdin.buffer.readline readline sys.stdin.buffer.readline sys.stdin.buffer sys.stdin sys stdin buffer readline sys.setrecursionlimit(10 ** 8) sys.setrecursionlimit sys setrecursionlimit 10 ** 8 10 8 INF = float('inf') INF float('inf') float 'inf' MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 def main():
    A, P = map(int, readline().split())
    print((3*A+P)//2) main A, P = map(int, readline().split()) A map(int, readline().split()) map int readline().split() ().split () readline split P print((3*A+P)//2) print (3*A+P)//2 3*A+P 3*A 3 A P 2 if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main INF = float('inf') float('inf') INF def main():
    A, P = map(int, readline().split())
    print((3*A+P)//2) def main():
    A, P = map(int, readline().split())
    print((3*A+P)//2) main MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD readline = sys.stdin.buffer.readline sys.stdin.buffer.readline readline
import sys
readline = sys.stdin.buffer.readline
sys.setrecursionlimit(10 ** 8)
INF = float('inf')
MOD = 10 ** 9 + 7

def main():
    A, P = map(int, readline().split())
    print((3*A+P)//2)

if __name__ == '__main__':
    main()