/* realRPG | India */ #include "bits/stdc++.h" #define ll long long #define vi vector #define vs vector #define vll vector #define vpii vector > #define vpss vector > #define vpll vector > #define pii pair #define pll pair #define pss pair #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define fi(i,a,b,c) for(int i=a; i=b; i-=c) #define rfl(i,a,b,c) for(long long i=a; i>=b; i-=c) #define pb push_back #define mk make_pair #define ep emplace_back #define F first #define S second using namespace std; const ll md = 1e9 + 7; const ll MAX = 1e5 + 5; const ll MAXN = 1e6 + 10; /*inline ll fsc() { ll ip = getchar(), ret = 0, flag = 1; for (; ip<'0' || ip>'9'; ip = getchar()) if (ip == '-') { flag = -1; ip = getchar(); break; } for (; ip >= '0'&&ip <= '9'; ip = getchar()) ret = ret * 10 + ip - '0'; return flag*ret; }*/ vll v; ll sum=0; void fun() { ll sz=v.size(); fi(k,1,sz,1) { fi(i,0,sz-k,1) { ll j=i+k; ll maxi=0; fi(kk,i,j+1,1) { maxi=max(maxi,v[kk]); } v.pb(maxi); sum=(sum+maxi)%md; } } sz=v.size(); fi(k,1,sz,1) { fi(i,0,sz-k,1) { ll j=i+k; ll maxi=0; fi(kk,i,j+1,1) { maxi=max(maxi,v[kk]); } v.pb(maxi); sum=(sum+maxi)%md; } } } void solve() { ll n; cin >>n; fi(i,0,n,1) { ll x; cin >>x; sum=(sum+x)%md; v.pb(x); } fun(); cout<