#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int minSteps(vector<int> piles) {

    int steps = 0;

    while (true) {

        int tallest = *max_element(piles.begin(), piles.end());

        int secondTallest = -1;

        for (int h : piles) {
            if (h < tallest)
                secondTallest = max(secondTallest, h);
        }

        if (secondTallest == -1)
            break;

        for (int i = 0; i < piles.size(); i++) {
            if (piles[i] == tallest) {
                piles[i] = secondTallest;
                steps++;
                break;
            }
        }
    }

    return steps;
}

int main() {

    vector<int> piles = {5,5,2,1};

    cout << minSteps(piles);
    
    return 0;
}