#include<iostream>
#include<queue>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
  int n,a;
  bool Tf[305],Hf[305];
  while(cin >> n && n){
    vector<int> tque,hque;
    for(int i=0;i<=303;i++){
      Tf[i] = false;
      Hf[i] = true;
    }
    for(int i=0;i<n;i++){
      cin >> a;
      Tf[a] = true;
      Hf[a] = false;
    }
    
    for(int i=1;i<=2*n;i++){
      if(Tf[i]){
	tque.push_back(i);
      }
      else if(Hf[i])hque.push_back(i);
    }
    

    int FL = -1;
  
    while(!hque.empty() && !tque.empty()){
    
	vector<int>::iterator tit = lower_bound(tque.begin(),tque.end(),FL);
	if(tit != tque.end()){
	  //cout << "taro pop = " << *tit << endl; 
	  FL = *tit;
	  tque.erase(tit);
	}
	else FL = -1;
	if(tque.empty())break;
     
	vector<int>::iterator hit = lower_bound(hque.begin(),hque.end(),FL);
	if(hit != hque.end()){
	  //cout << "hanako pop = " << *hit << endl;
	  FL = *hit;
	  hque.erase(hit);
	
	}
	else FL = -1;
	if(hque.empty())break;
    }

    cout << hque.size() << endl;
    cout << tque.size() << endl;

  }
  return 0;
}