/**
* ATM.
* Initialize with a set of banknotes and currencies (e.g., 1000 rubles, 500 euros).
* Banknotes are deducted from the ATM's stock upon dispensing.
* Acceptable denominations:
* --- 50R, 100R, 500R, 1000R, 5000R
* --- 20 EUR, 100 EUR, 500 EUR
*
* Each currency is processed separately.
*
* The ATM can be used by many users simultaneously.
* Multithreading support can be omitted (but it would be a plus).
*/
class ATM {
public ??? withdraw(???) {
// TODO implement
}
}