#include <bits/stdc++.h>
using namespace std;
int n, A[2010];
int S[2010];
int dp[4][2010];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &A[i]);
  for (int i = n - 1; i >= 0; i--) {
    if (A[i] == 1) {
      dp[0][i] = max(dp[0][i + 1] + 1, dp[1][i + 1] + 1);
      dp[1][i] = max(dp[1][i + 1], dp[2][i + 1] + 1);
      dp[2][i] = max(dp[2][i + 1] + 1, dp[3][i + 1] + 1);
      dp[3][i] = dp[3][i + 1];
    } else {
      dp[0][i] = max(dp[0][i + 1], dp[1][i + 1] + 1);
      dp[1][i] = max(dp[1][i + 1] + 1, dp[2][i + 1] + 1);
      dp[2][i] = max(dp[2][i + 1], dp[3][i + 1] + 1);
      dp[3][i] = dp[3][i + 1] + 1;
    }
  }
  printf("%d\n", max(dp[0][0], max(dp[1][0], max(dp[2][0], dp[3][0]))));
  return 0;
}
