// 2011/10/26 Tazoe

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
	while(true){
		int m, n;
		cin >> m >> n;
		if(m==0&&n==0)
			break;

		int t[100];
		for(int i=0; i<n; i++)
			cin >> t[i];

		int P[10][2];
		for(int i=0; i<m; i++)
			P[i][0] = P[i][1] = -1;

		int Q[100];
		int Qb = 0;
		int Qe = 0;

		int A[100];
		int Ai = 0;

		int T = 0;
		while(true){
			for(int i=0; i<m; i++)
				for(int j=0; j<2; j++)
					if(P[i][j]!=-1){
						t[P[i][j]]--;

						if(t[P[i][j]]<=0&&j==0){
							A[Ai++] = P[i][j];
							P[i][j] = P[i][j+1];
							P[i][j+1] = -1;
							j--;
						}
					}

			if(Ai==n)
				break;

			if(T%10==0&&Qe<n)
				Q[Qe++] = T/10;

			if(Qb==n)
				continue;

			while(Qb<Qe){
				bool flg = false;
				for(int i=0; i<m; i++)
					if(P[i][0]==-1){
						P[i][0] = Q[Qb++];
						flg = true;
						break;
					}
				if(flg)
					continue;

				int Min = 130;
				int I = -1;
				for(int i=0; i<m; i++)
					if(P[i][1]==-1&&t[P[i][0]]>=t[Q[Qb]])
						if(t[P[i][0]]-t[Q[Qb]]<Min){
							Min = t[P[i][0]]-t[Q[Qb]];
							I = i;
						}
				if(I!=-1){
					P[I][1] = P[I][0];
					P[I][0] = Q[Qb++];
					continue;
				}

				Min = 130;
				I = -1;
				for(int i=0; i<m; i++)
					if(P[i][1]==-1&&t[P[i][0]]<t[Q[Qb]])
						if(t[Q[Qb]]-t[P[i][0]]<Min){
							Min = t[Q[Qb]]-t[P[i][0]];
							I = i;
						}
				if(I!=-1){
					P[I][1] = P[I][0];
					P[I][0] = Q[Qb++];
					continue;
				}
			}

/*
			for(int j=0; j<2; j++){
				for(int i=0; i<m; i++)
					cout << setw(3) << P[i][j];
				cout << endl;
			}

			for(int i=0; i<n; i++)
				cout << setw(3) << t[i];
			cout << endl;

			for(int i=0; i<n; i++)
				cout << setw(3) << A[i];
			cout << endl;
*/








			T++;
/*
			int tmp;
			cin >> tmp;
*/




		}

		for(int i=0; i<Ai; i++){
			cout << A[i]+1;
			if(i<Ai-1)
				cout << ' ';
			else
				cout << endl;
		}
	}

	return 0;
}