#include <bits/stdc++.h>
using namespace std;
long long dp[2005][2005], l[2005], r[2005];
int main() {
  long long n;
  cin >> n;
  long long a[n + 5];
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= n; i++) l[i] = (a[i] == 1) ? l[i - 1] + 1 : l[i - 1];
  for (int i = n; i >= 1; i--) r[i] = (a[i] == 2) ? r[i + 1] + 1 : r[i + 1];
  long long c1, c2;
  for (int i = n; i >= 1; i--) {
    c1 = 0, c2 = 0;
    for (int j = i; j >= 1; j--) {
      if (a[j] == 1) c1++;
      if (a[j] == 2) c2 = max(c2, c1) + 1;
      dp[j][i] = c2;
    }
  }
  long long cnt = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j++) {
      cnt = max(cnt, l[i - 1] + dp[i][j] + r[j + 1]);
    }
  }
  cout << max(cnt, max(l[n], r[0]));
}
