#include<iostream>
#include<queue>
#include<map>
using namespace std;
int a[1000010];
priority_queue<long long> q;
int main()
{
int n,p,q;
scanf("%d%d%d",&n,&p,&q);
for (int i = 1;i <= n;i++)
{
scanf("%d",&a[i]);
q.push(1ll * a[i] * p);
q.push(1ll * a[i] * q);
}
long long sum = 0;
for (int i = 1;i <= n;i++)
{
sum += q.top();
q.pop();
}
for (int i = 1;i <= n;i++)
{
sum -= q.top();
q.pop();
}
printf("%lld\n",sum);
int x = 1;
for (int i = 1;i <= n;i++)
{
printf("%d ",x);
x = (n + 1 + (i%2==0?1:0)) - x;
}
return 0;
}