#include void Swap(int *a, int *b); void Quick_sort(int A[], int left, int right); void Swap(int *a, int *b){ int tmp; tmp = *a; *a = *b; *b = tmp; } void Quick_sort(int A[], int left, int right){ int pivot, i, j; pivot = A[(left + right)/2]; i = left; j = right; while(1){ while(1){ if(A[i] < pivot){ i++; }else{ break; } } while(1){ if(A[j] > pivot){ j--; }else{ break; } } if(i >= j) break; Swap(&A[i], &A[j]); i++; j--; } if(i - 1 > left){ Quick_sort(A, left, i - 1); } if(j + 1 < right){ Quick_sort(A, j + 1, right); } } int main(){ int N, i, j, cnt = 0, A[100000]; int flag = 0; scanf("%d\n", &N); for(i = 0; i < N; i++){ scanf("%d", &A[i]); } Quick_sort(A, 0, N - 1); for(i = 0; i < N; i++){ if(i == 0){ if(A[1] - A[0] != 0){ cnt++; } }else if(i == N - 1){ if(A[N - 1] - A[N - 2] != 0){ cnt++; } }else{ for(j = 0; j < 2; j++){ if(A[i - 1 + j] - A[i + j] != 0){ flag++; } } if(flag == 2){ cnt++; } flag = 0; } } printf("%d\n", cnt); return 0; }