#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <assert.h>
#include <memory.h>
#include <queue>
using namespace std;

#define N 303

int dp[N][N][N];

char s[N];
void solve() {
  scanf(" %s",s+1);
  int n = strlen(s+1);
  int k;scanf("%d",&k);
  for(int cc = k;cc>=0;--cc) {
    for(int i=1;i<=n;++i) {
      for(int j=n;j>=i+1;--j) {
        dp[cc][i+1][j] = max(dp[cc][i+1][j], dp[cc][i][j]);
        dp[cc][i][j-1] = max(dp[cc][i][j-1],dp[cc][i][j]);
        if(s[i]==s[j]) {
          dp[cc][i+1][j-1] = max(dp[cc][i+1][j-1], dp[cc][i][j]+1);
        } else if(cc>0){
          dp[cc-1][i+1][j-1] = max(dp[cc-1][i+1][j-1], dp[cc][i][j]+1);
        }
      }
    }
  }
  int ret = 0;
  for(int i=1;i<=n;++i) {
    for(int cc=0;cc<=k;++cc) {
      ret = max(ret, dp[cc][i][i-1]*2);
      ret = max(ret, dp[cc][i+1][i]*2);
      ret = max(ret,1 + dp[cc][i][i]*2);
    }
  }
  printf("%d\n", ret);
}

int main() {
  //freopen("input.txt","r",stdin);
  solve();
  return 0;
}

#include <bits/stdc++.h>//Carefully Crafted by hetp111
using namespace std;
#define int long long
#define double long double
#define all(v) (v).begin(),(v).end()
#define vi vector<int>
#define vvi vector<vi>
#define pii pair<int,int>
#define vii vector<pii>
#define MOD 1000000007
#define MOD2 998244353
#define MOD3 1000000009
#define PI acos(-1)
#define eps (1e-8)
#define INF (1e18)
#define FASTER ios_base::sync_with_stdio(0);cin.tie(0)
template<class A,class B>ostream&operator<<(ostream&out,const pair<A,B>&a){return out<<"("<<a.first<<","<<a.second<<")";}
template<class A>ostream&operator<<(ostream&out,const vector<A>&a){for(const A &it:a)out<<it<<" ";return out;}
template<class A,class B>istream&operator>>(istream&in,pair<A,B>&a){return in>>a.first>>a.second;}
template<class A>istream&operator>>(istream&in,vector<A>&a){for(A &i:a)in>>i;return in;}
//ifstream cinn("in.in");ofstream coutt("out.out");
int poww(const int &a,int b,const int &m=MOD){if(b==0)return 1;int x=poww(a,b/2,m);x=x*x%m;if(b&1)x=x*a%m;return x;}
int ceil(const int &a,const int &b){return (a+b-1)/b;}
////Read:
//Check corner cases, n==1;
//
////Some function:
//__builtin_popcountll(), is_sorted(),

signed main(){
    FASTER;
    int n;cin>>n;
    cout<<180*(n-2);
}