text: /*
      written by Pankaj Kumar.
      country:-INDIA
      Institute: National Institute of Technology, Uttarakhand
  */
  typedef long long ll ;
  typedef unsigned long long ull;
  typedef vector<int> vl;
  /*  Abbrevations  */
  #define ff first
  #define ss second
  #define mp make_pair
  #define pb push_back
  #define Endl "\n"
  #define all(V) (V).begin(),(V).end()
  #define srt(V) sort(all(V))
  #define srtGreat(V) sort(all(V),greater<ll>())
  // some extra
  #define printv(v) for(ll i=0;i<ll(v.size());i++){cout<<v[i]<<" ";} cout<<endl;
  #define precision(x) cout<<fixed<<setprecision(x);
  #define sz(V) ll(V.size())
  
  /* ascii value 
  A=65,Z=90,a=97,z=122
  */
  /*  --------------------MAIN PROGRAM----------------------------*/
  // to run ctrl+b
  const ll INF=LONG_MAX;
  const ll mod1=1e9+7;
  const ll mod2=998244353;
  
  // Techniques
  // divide into cases, brute force, pattern finding
  // sort, greedy, binary search, two pointer
  // transform into graph
  
  // add main code here
  class Solution {
  public:
      int maxFrequency(vector<int>& nums, int k) {
          ll n=sz(nums);
          srt(nums);
          ll i=0,j=0;
          ll sum=0;
          ll ans=0;
          for(i=0;i<n;i++){
              sum+=nums[i];
              while(j<=i&&ll(sum+k)<ll(nums[i]*(i-j+1))){
                  sum-=nums[j];
                  j++;
              }
              ans=max(ans,i-j+1);
          }
          return ans;
      }
  };
  
  
  /* -----------------END OF PROGRAM --------------------*/
  /*
  * stuff you should look before submission 
  * constraint and time limit
  * int overflow
  * special test case (n=0||n=1||n=2)
  * don't get stuck on one approach if you get wrong answer
  */