n,k=map(int, input().split())
v=list(map(int, input().split()))

r=min(n,k)
ans=0

for a in range(r+1):
    for b in range(r+1):
        jew=[]
        if a+b>r:
            break
        for i in range(a):
            jew.append(v[i])
        for i in range(n-1,n-b-1,-1):
            jew.append(v[i])
        
        if len(jew)==0:
            continue

        jew.sort(reverse=True)

        for i in range(k-(a+b)):
            if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
        ans=max(ans,sum(jew))
print(ans) n,k=map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split k v=list(map(int, input().split())) v list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split r=min(n,k) r min(n,k) min n k ans=0 ans 0 for a in range(r+1):
    for b in range(r+1):
        jew=[]
        if a+b>r:
            break
        for i in range(a):
            jew.append(v[i])
        for i in range(n-1,n-b-1,-1):
            jew.append(v[i])
        
        if len(jew)==0:
            continue

        jew.sort(reverse=True)

        for i in range(k-(a+b)):
            if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
        ans=max(ans,sum(jew)) a range(r+1) range r+1 r 1 for b in range(r+1):
        jew=[]
        if a+b>r:
            break
        for i in range(a):
            jew.append(v[i])
        for i in range(n-1,n-b-1,-1):
            jew.append(v[i])
        
        if len(jew)==0:
            continue

        jew.sort(reverse=True)

        for i in range(k-(a+b)):
            if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
        ans=max(ans,sum(jew)) b range(r+1) range r+1 r 1 jew=[] jew [] if a+b>r:
            break
         a+b>r a+b a b r break for i in range(a):
            jew.append(v[i])
         i range(a) range a jew.append(v[i]) jew.append jew append v[i] v i for i in range(n-1,n-b-1,-1):
            jew.append(v[i])
        
         i range(n-1,n-b-1,-1) range n-1 n 1 n-b-1 n-b n b 1 -1 jew.append(v[i]) jew.append jew append v[i] v i if len(jew)==0:
            continue

         len(jew)==0 len(jew) len jew 0 continue jew.sort(reverse=True) jew.sort jew sort reverse=True reverse True for i in range(k-(a+b)):
            if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
         i range(k-(a+b)) range k-(a+b) k a+b a b if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
         len(jew)>0 len(jew) len jew 0 if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
         jew[-1]<0 jew[-1] jew -1 0 jew.pop(-1) jew.pop jew pop -1 break ans=max(ans,sum(jew)) ans max(ans,sum(jew)) max ans sum(jew) sum jew print(ans) print ans jew=[] [] jew v=list(map(int, input().split())) list(map(int, input().split())) v r=min(n,k) min(n,k) r n,k=map(int, input().split()) map(int, input().split()) n ans=max(ans,sum(jew)) max(ans,sum(jew)) ans k=map(int, input().split()) map(int, input().split()) k ans=0 0 ans
n,k=map(int, input().split())
v=list(map(int, input().split()))

r=min(n,k)
ans=0

for a in range(r+1):
    for b in range(r+1):
        jew=[]
        if a+b>r:
            break
        for i in range(a):
            jew.append(v[i])
        for i in range(n-1,n-b-1,-1):
            jew.append(v[i])
        
        if len(jew)==0:
            continue

        jew.sort(reverse=True)

        for i in range(k-(a+b)):
            if len(jew)>0:
                if jew[-1]<0:
                    jew.pop(-1)
                else:
                    break
        ans=max(ans,sum(jew))
print(ans)
