Ответ:
--- Python 3.8.3 ---
import typing
from typing import Callable
from typing import AnyStr
from typing import Any
from typing import Iterable
from typing import List
from math import inf
#DEFINE User-Types
Numeric = typing.TypeVar('Numeric', int, float, complex)
Primitive = typing.TypeVar('Primitive', int, float, complex, str, bytes, bytearray)
#END
def IndexMax(Array: List[Any]) -> int:
'''
Возвращает индекс первого вхождения максимума для list
'''
_max = -inf
_maxind = 0
for index, item in enumerate(Array):
if item > _max:
_max = item
_maxind = index
return _maxind
def ReadSeq(SeqLen: int, CastType: Primitive = int):
'''
Возвращает последовательность элементов в указанном типе, считанных с клавиатуры, заданной длины.
'''
try:
for _ in range(SeqLen):
yield CastType(input())
except TypeError:
raise RuntimeError(f'Unsupported type: {CastType}')
def ListTransform(Data: List[Any], Tranformer: Callable[[Any], Any], Selector: Callable[[Any], bool] = lambda p: True):
'''Трансформирует элементы list, удовлетворяющие условию, в соответствии с заданным правилом
По умолчанию трансформирует все элементы'''
for index, item in enumerate(Data):
if (Selector(item)):
Data[index] = Tranformer(item)
return Data
def main():
n = int(input())
RawData = list(ReadSeq(n))
Summator = lambda Integer: sum(map(int, list(str(Integer))))
print(IndexMax(ListTransform(RawData, Summator))+1)
if __name__ == "__main__":
main()