n, t = list(map(int, input().split()))

a = list(map(int, input().split()))



vm = a[n - 1]#数列を右から見た時の最大値

d = dict()

for i in range(n - 2, -1, -1):

    if a[i] > vm:

        vm = a[i]

    else:

        df = vm - a[i]

        d[df] = d.get(df, 0) + 1



df_cnt = sorted(list(d.items()), key = lambda x:x[0], reverse = True)#差が大きい方から並べる



print((df_cnt[0][1]))
n, t = list(map(int, input().split()))

a = list(map(int, input().split()))



vm = a[n - 1]#数列を右から見た時の最大値

dfm = 0

cnt = 0

for i in range(n - 2, -1, -1):

    if a[i] > vm:

        vm = a[i]

    else:

        df = vm - a[i]

        if dfm < df:

            dfm = df

            cnt = 1

        elif dfm == df:

            cnt += 1



print(cnt)
n, t = list(map(int, input().split()))
a = list(map(int, input().split()))
vm = a[n - 1]  # 数列を右から見た時の最大値
d = dict()
for i in range(n - 2, -1, -1):
    if a[i] > vm:
        vm = a[i]
    else:
        df = vm - a[i]
        d[df] = d.get(df, 0) + 1
df_cnt = sorted(list(d.items()), key=lambda x: x[0], reverse=True)  # 差が大きい方から並べる
print((df_cnt[0][1]))

n, t = list(map(int, input().split()))
a = list(map(int, input().split()))
vm = a[n - 1]  # 数列を右から見た時の最大値
dfm = 0
cnt = 0
for i in range(n - 2, -1, -1):
    if a[i] > vm:
        vm = a[i]
    else:
        df = vm - a[i]
        if dfm < df:
            dfm = df
            cnt = 1
        elif dfm == df:
            cnt += 1
print(cnt)

-d = dict() +dfm = 0 +cnt = 0 -        d[df] = d.get(df, 0) + 1 -df_cnt = sorted(list(d.items()), key=lambda x: x[0], reverse=True)  # 差が大きい方から並べる -print((df_cnt[0][1])) +        if dfm < df: +            dfm = df +            cnt = 1 +        elif dfm == df: +            cnt += 1 +print(cnt)