#include<bits/stdc++.h>
using namespace std;

#define int long long

#define rep(i,n) for(int i=0;i<(n);i++)
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define fi first
#define se second
typedef vector<int>vint;
typedef pair<int,int>pint;
typedef vector<pint>vpint;

template<typename A,typename B>inline void chmin(A &a,B b){if(a>b)a=b;}
template<typename A,typename B>inline void chmax(A &a,B b){if(a<b)a=b;}

pint INF(INT_MAX,INT_MAX);

pint dp[55555];
pint nex[55555];

int N;
int P[111];



void solve(){
    rep(i,N)cin>>P[i];

    fill_n(dp,55555,INF);
    dp[0]=pint(0,0);

    for(int i=0;i<N;i++){
        fill_n(nex,55555,INF);
        for(int j=0;j<50000;j++){
            chmin(nex[j],dp[j]);

            int p=P[i]%1000;
            if(p==0){
                pint w=dp[j];
                w.fi--;w.se+=P[i];
                if(j>=500)chmin(nex[j-500],w);
            }
            else if(p<=500){
                pint w=dp[j];
                w.fi--;
                w.se+=P[i];
                chmin(nex[j+500-p],w);
            }
            else{
                pint w=dp[j];
                w.se+=P[i];
                chmin(nex[j+1000-p],w);
                w.fi--;
                if(j-(p-500)>=0)chmin(nex[j-(p-500)],w);
            }
        }
        rep(j,55555)dp[j]=nex[j];
    }

    pint ans=INF;
    rep(i,55555)chmin(ans,dp[i]);
    cout<<-ans.fi<<" "<<ans.se<<endl;
}

signed main(){
    while(cin>>N,N)solve();
    return 0;
}