#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[300005],l[300005],r[300005],kq = 0;
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freopen("ZNANSTVENIK.inp", "r", stdin);
// freopen("ZNANSTVENIK.out", "w", stdout);
cin >> n;
memset(l,0,sizeof(l));
memset(r,0,sizeof(r));
for(int i = 1; i <= n; i++)
{
cin >> a[i];
}
for(int i = 1; i <= n; i++)
{
l[i] = i - 1;
while(l[i] > 0 && a[l[i]] >= a[i]) l[i] = l[l[i]];
}
for(int i = n; i >= 1; i--)
{
r[i] = i + 1;
while(r[i] <= n && a[r[i]] >= a[i]) r[i] = r[r[i]];
}
for(int i = 1; i <= n; i++)
kq -= a[i]*(i - l[i])*(r[i] - i);
for(int i = 1; i <= n; i++)
{
l[i] = i - 1;
while(l[i] > 0 && a[l[i]] <= a[i]) l[i] = l[l[i]];
}
for(int i = n; i >= 1; i--)
{
r[i] = i + 1;
while(r[i] <= n && a[r[i]] <= a[i]) r[i] = r[r[i]];
}
for(int i = 1; i <= n; i++)
kq += a[i]*(i - l[i] )*(r[i] - i);
cout << kq;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbGwgbixhWzMwMDAwNV0sbFszMDAwMDVdLHJbMzAwMDA1XSxrcSA9IDA7CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgLy8gIGZyZW9wZW4oIlpOQU5TVFZFTklLLmlucCIsICJyIiwgc3RkaW4pOwogIC8vICBmcmVvcGVuKCJaTkFOU1RWRU5JSy5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICBjaW4gPj4gbjsKICAgIG1lbXNldChsLDAsc2l6ZW9mKGwpKTsKICAgIG1lbXNldChyLDAsc2l6ZW9mKHIpKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgbFtpXSA9IGkgLSAxOwogICAgICAgIHdoaWxlKGxbaV0gPiAwICYmIGFbbFtpXV0gPj0gYVtpXSkgbFtpXSA9IGxbbFtpXV07CiAgICB9CiAgICBmb3IoaW50IGkgPSBuOyBpID49IDE7IGktLSkKICAgIHsKICAgICAgICByW2ldID0gaSArIDE7CiAgICAgICAgd2hpbGUocltpXSA8PSBuICYmIGFbcltpXV0gPj0gYVtpXSkgcltpXSA9IHJbcltpXV07CiAgICB9CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgIGtxIC09IGFbaV0qKGkgLSBsW2ldKSoocltpXSAtIGkpOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgbFtpXSA9IGkgLSAxOwogICAgICAgIHdoaWxlKGxbaV0gPiAwICYmIGFbbFtpXV0gPD0gYVtpXSkgbFtpXSA9IGxbbFtpXV07CiAgICB9CiAgICBmb3IoaW50IGkgPSBuOyBpID49IDE7IGktLSkKICAgIHsKICAgICAgICByW2ldID0gaSArIDE7CiAgICAgICAgd2hpbGUocltpXSA8PSBuICYmIGFbcltpXV0gPD0gYVtpXSkgcltpXSA9IHJbcltpXV07CiAgICB9CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIGtxICs9IGFbaV0qKGkgLSBsW2ldICkqKHJbaV0gLSBpKTsKICAgIGNvdXQgPDwga3E7Cn0K