# SPDX-License-Identifier: MIT
print(sum([]),sum(()),sum(range(5)),sum([1,2,3],10),sum([1,2],start=10))
print(sum([True,False,True]),sum((1,True,2)),sum(b'\x00\xffa'))
print(sum({1:9,2:8}),sum({1,2,3}),sum({'a':1,'b':2}.values()))
print(sum((1,2),True),sum((),True),sum([],None),sum([],start=None))
initial=[7]
combined=sum([[1],[2,3]],initial)
print(initial,combined,combined is initial)
print(sum([],initial) is initial)
try:
    sum([], '')
except TypeError as error:
    print(repr(error))
try:
    sum([], b'')
except TypeError as error:
    print(repr(error))
print(sum([0.25,0.5],0.0)==0.75)
print(True+True,1+True,True+1,False-True,-True,+True,~True,~False,abs(True))
print(~0,~1,~-1,~9999999999999999999999999)
print(True*3,3*False,True//True,True%True,True**3,3**True,3**False)
try:
    True//False
except ZeroDivisionError as error:
    print(repr(error))
def initial_value():
    print('start evaluated')
    return 10
def numbers():
    print('iterable evaluated')
    return [1,2]
print(sum(numbers(),initial_value()))
