/* ID:chenjiong PROG:sort3 LANG:C++ */ #include <stdio.h> #include <string.h> const int MAXN = 1005; int N; int a[MAXN]; int p1,p2,p3; int cnt; void swap(int& a,int& b) { a = a + b; b = a - b; a = a - b; } void init() { scanf("%d",&N); p1 = p2 = p3 = cnt = 0; int i; for ( i = 0; i < N; i++) { scanf("%d",&a[i]); if ( a[i] == 1 ) p1++; else if ( a[i] == 2 ) p2++; else p3++; } } void search() { int i,j; for ( i = 0; i <= p1 - 1; i++) { if ( a[i] == 1 ) continue; else if ( a[i] == 2 ) { for ( j = p1; j < N; j++) { if ( a[j] == 1 ) { swap(a[i],a[j]); cnt++; break; } } } else { for ( j = N - 1; j >= p1; j--) { if ( a[j] == 1 ) { swap(a[i],a[j]); cnt++; break; } } } } for ( i = p1; i <= p1 + p2 - 1; i++) { if ( a[i] == 3 ) { for ( j = N - 1; j >= p1 + p2; j--) { if ( a[j] == 2 ) { swap(a[i],a[j]); cnt++; break; } } } } } int main() { freopen("sort3.in","r",stdin); freopen("sort3.out","w",stdout); init(); search(); printf("%d\n",cnt); return 0; }