/*
Author: Cadocx
Codeforces: https://c...content-available-to-author-only...s.com/profile/Kadoc
VNOJ: oj.vnoi.info/user/Cadoc
*/
#include <bits/stdc++.h>
using namespace std;
// input/output
#define fastIO ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define el cout << '\n'
#define debug(x) cout << #x << " = " << x << '\n'
#define execute cerr << "Time elapsed: " << (1.0 * clock() / CLOCKS_PER_SEC) << "s"
// #pragma GCC optimize("O2", "unroll-loops", "Ofast")
// #pragma GCC target("avx,avx2,fma")
//data type
#define ll long long
#define ull unsigned long long
#define pii pair<int, int>
#define pll pair<ll, ll>
#define piv pair<int, vector<int>>
#define vi vector<int>
#define vl vector<ll>
#define vc vector<char>
template<typename T> bool maximize(T &res, const T &val) { if (res < val){ res = val; return 1; }; return 0; }
template<typename T> bool minimize(T &res, const T &val) { if (res > val){ res = val; return 1; }; return 0; }
//STL
#define sz(x) (int)(x).size()
#define FOR(i,l,r) for(auto i = l; i <= r; i++)
#define FORD(i,r,l) for(auto i = r; i >= l; i--)
#define forin(i,a) for(auto i : a)
#define pb push_back
#define eb emplace_back
#define pf push_front
#define all(x) (x).begin(), (x).end()
#define fi first
#define se second
//bitmask
#define bitcnt(n) __builtin_popcount(n)
#define mask(i) (1 << (i))
#define bit(n, i) (((n) >> (i)) & 1)
#define set_on(n, i) ((n) | mask(i))
#define set_off(n, i) ((n) & ~mask(i))
//constant
#define N 400005
#define MOD 1000000007
#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define base 31
#define Kadoc 0
int n;
int a[N];
int lMax[N], rMax[N], lMin[N], rMin[N];
void solve(){
cin >> n;
FOR(i, 1, n) cin >> a[i];
stack<int> s;
FOR(i, 1, n){
while(s.size() && a[s.top()] <= a[i]) s.pop();
lMax[i] = s.size()? s.top() + 1 : 1;
s.emplace(i);
}
while(s.size()) s.pop();
FORD(i, n, 1){
while(s.size() && a[s.top()] < a[i]) s.pop();
rMax[i] = s.size()? s.top() - 1 : n;
s.emplace(i);
}
while(s.size()) s.pop();
FOR(i, 1, n){
while(s.size() && a[s.top()] >= a[i]) s.pop();
lMin[i] = s.size()? s.top() + 1 : 1;
s.emplace(i);
}
while(s.size()) s.pop();
FORD(i, n, 1){
while(s.size() && a[s.top()] > a[i]) s.pop();
rMin[i] = s.size()? s.top() - 1 : n;
s.emplace(i);
}
ll Ans = 0;
FOR(i, 1, n) Ans += 1ll * a[i] * (i - lMax[i] + 1) * (rMax[i] - i + 1);
FOR(i, 1, n) Ans -= 1ll * a[i] * (i - lMin[i] + 1) * (rMin[i] - i + 1);
cout << Ans;
}
int main(){
#define NAME "TASK"
if(fopen(NAME".inp", "r")){
freopen(NAME".inp", "r", stdin);
freopen(NAME".out", "w", stdout);
}
fastIO;
if(Kadoc){
int tc; cin >> tc;
while(tc--){
solve();
}
} else solve();
}
LyoKICAgIEF1dGhvcjogQ2Fkb2N4CiAgICBDb2RlZm9yY2VzOiBodHRwczovL2MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuY29tL3Byb2ZpbGUvS2Fkb2MKICAgIFZOT0o6IG9qLnZub2kuaW5mby91c2VyL0NhZG9jCiovCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIGlucHV0L291dHB1dAojZGVmaW5lIGZhc3RJTyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApLCBjaW4udGllKDApLCBjb3V0LnRpZSgwKQojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwojZGVmaW5lIGRlYnVnKHgpIGNvdXQgPDwgI3ggPDwgIiA9ICIgPDwgeCA8PCAnXG4nCiNkZWZpbmUgZXhlY3V0ZSBjZXJyIDw8ICJUaW1lIGVsYXBzZWQ6ICIgPDwgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykgPDwgInMiCi8vICNwcmFnbWEgR0NDIG9wdGltaXplKCJPMiIsICJ1bnJvbGwtbG9vcHMiLCAiT2Zhc3QiKQovLyAjcHJhZ21hIEdDQyB0YXJnZXQoImF2eCxhdngyLGZtYSIpCi8vZGF0YSB0eXBlCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIHBsbCBwYWlyPGxsLCBsbD4KI2RlZmluZSBwaXYgcGFpcjxpbnQsIHZlY3RvcjxpbnQ+PgojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgdmwgdmVjdG9yPGxsPgojZGVmaW5lIHZjIHZlY3RvcjxjaGFyPgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIG1heGltaXplKFQgJnJlcywgY29uc3QgVCAmdmFsKSB7IGlmIChyZXMgPCB2YWwpeyByZXMgPSB2YWw7IHJldHVybiAxOyB9OyByZXR1cm4gMDsgfQp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIG1pbmltaXplKFQgJnJlcywgY29uc3QgVCAmdmFsKSB7IGlmIChyZXMgPiB2YWwpeyByZXMgPSB2YWw7IHJldHVybiAxOyB9OyByZXR1cm4gMDsgfQovL1NUTAojZGVmaW5lIHN6KHgpIChpbnQpKHgpLnNpemUoKQojZGVmaW5lIEZPUihpLGwscikgZm9yKGF1dG8gaSA9IGw7IGkgPD0gcjsgaSsrKQojZGVmaW5lIEZPUkQoaSxyLGwpIGZvcihhdXRvIGkgPSByOyBpID49IGw7IGktLSkKI2RlZmluZSBmb3JpbihpLGEpIGZvcihhdXRvIGkgOiBhKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGViIGVtcGxhY2VfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCi8vYml0bWFzawojZGVmaW5lIGJpdGNudChuKSBfX2J1aWx0aW5fcG9wY291bnQobikKI2RlZmluZSBtYXNrKGkpICgxIDw8IChpKSkKI2RlZmluZSBiaXQobiwgaSkgKCgobikgPj4gKGkpKSAmIDEpCiNkZWZpbmUgc2V0X29uKG4sIGkpICgobikgfCBtYXNrKGkpKQojZGVmaW5lIHNldF9vZmYobiwgaSkgKChuKSAmIH5tYXNrKGkpKQovL2NvbnN0YW50CiNkZWZpbmUgTiA0MDAwMDUKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIElORiAweDNmM2YzZjNmCiNkZWZpbmUgTElORiAweDNmM2YzZjNmM2YzZjNmM2YKI2RlZmluZSBiYXNlIDMxCiNkZWZpbmUgS2Fkb2MgMAoKaW50IG47CmludCBhW05dOwppbnQgbE1heFtOXSwgck1heFtOXSwgbE1pbltOXSwgck1pbltOXTsKCnZvaWQgc29sdmUoKXsKICAgIGNpbiA+PiBuOwogICAgRk9SKGksIDEsIG4pIGNpbiA+PiBhW2ldOwoKICAgIHN0YWNrPGludD4gczsKICAgIEZPUihpLCAxLCBuKXsKICAgICAgICB3aGlsZShzLnNpemUoKSAmJiBhW3MudG9wKCldIDw9IGFbaV0pIHMucG9wKCk7CiAgICAgICAgbE1heFtpXSA9IHMuc2l6ZSgpPyBzLnRvcCgpICsgMSA6IDE7CiAgICAgICAgcy5lbXBsYWNlKGkpOwogICAgfQoKICAgIHdoaWxlKHMuc2l6ZSgpKSBzLnBvcCgpOwogICAgRk9SRChpLCBuLCAxKXsKICAgICAgICB3aGlsZShzLnNpemUoKSAmJiBhW3MudG9wKCldIDwgYVtpXSkgcy5wb3AoKTsKICAgICAgICByTWF4W2ldID0gcy5zaXplKCk/IHMudG9wKCkgLSAxIDogbjsKICAgICAgICBzLmVtcGxhY2UoaSk7CiAgICB9CgogICAgd2hpbGUocy5zaXplKCkpIHMucG9wKCk7CiAgICBGT1IoaSwgMSwgbil7CiAgICAgICAgd2hpbGUocy5zaXplKCkgJiYgYVtzLnRvcCgpXSA+PSBhW2ldKSBzLnBvcCgpOwogICAgICAgIGxNaW5baV0gPSBzLnNpemUoKT8gcy50b3AoKSArIDEgOiAxOwogICAgICAgIHMuZW1wbGFjZShpKTsKICAgIH0KCiAgICB3aGlsZShzLnNpemUoKSkgcy5wb3AoKTsKICAgIEZPUkQoaSwgbiwgMSl7CiAgICAgICAgd2hpbGUocy5zaXplKCkgJiYgYVtzLnRvcCgpXSA+IGFbaV0pIHMucG9wKCk7CiAgICAgICAgck1pbltpXSA9IHMuc2l6ZSgpPyBzLnRvcCgpIC0gMSA6IG47CiAgICAgICAgcy5lbXBsYWNlKGkpOwogICAgfQoKICAgIGxsIEFucyA9IDA7CiAgICBGT1IoaSwgMSwgbikgQW5zICs9IDFsbCAqIGFbaV0gKiAoaSAtIGxNYXhbaV0gKyAxKSAqIChyTWF4W2ldIC0gaSArIDEpOwogICAgRk9SKGksIDEsIG4pIEFucyAtPSAxbGwgKiBhW2ldICogKGkgLSBsTWluW2ldICsgMSkgKiAock1pbltpXSAtIGkgKyAxKTsKCiAgICBjb3V0IDw8IEFuczsKfQoKaW50IG1haW4oKXsKICAgICNkZWZpbmUgTkFNRSAiVEFTSyIKICAgIGlmKGZvcGVuKE5BTUUiLmlucCIsICJyIikpewogICAgICAgIGZyZW9wZW4oTkFNRSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihOQU1FIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CgogICAgZmFzdElPOwogICAgCiAgICBpZihLYWRvYyl7CiAgICAgICAgaW50IHRjOyBjaW4gPj4gdGM7CiAgICAgICAgd2hpbGUodGMtLSl7CiAgICAgICAgICAgIHNvbHZlKCk7CiAgICAgICAgfQogICAgfSBlbHNlIHNvbHZlKCk7Cn0=