using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Test1 {

    


    class ClassMain {

       


        public static void Main(String[] args) {
            string line;
            while ((line = Console.ReadLine()) != null) {
                //int[] ints = line.Split(' ').Select(int.Parse).ToArray();
                int n = int.Parse(line);
                if(n==0){break;}
                int[] dolls = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
                int kijiP = dolls[0];
                int toppingP = dolls[1];
                int kijiCal = int.Parse(Console.ReadLine());
                int[] toppingCal = new int[n];
                for (int i = 0; i < n; i++) {
                    toppingCal[i] = int.Parse(Console.ReadLine());
                }
                Array.Sort(toppingCal);
                Array.Reverse(toppingCal);
                int maxRatio = kijiCal / kijiP;

                int currentCal = kijiCal;
                int currentP = kijiP;
                for (int i = 0; i < n; i++) {
                    currentCal += toppingCal[i];
                    currentP += toppingP;
                    if (maxRatio < currentCal / currentP) { maxRatio = currentCal / currentP; }
                    else { break; }
                }


                Console.WriteLine(maxRatio);
                break;
            }
        }

        
    }



    
}