import java.util.*;

interface WebServiceMediator {
    public (1);
    public void SetAmazon(WebService amazon);
    public void SetEbay(WebService ebay);
}

abstract class WebService {
    protected (2) mediator;
    public abstract void SetMediator(WebServiceMediator mediator);
    public (3);
    public abstract void search(double money);
}

class ConcreteServiceMediator implements WebServiceMediator {
    private WebService amazon;
    private WebService ebay;
    
    public ConcreteServiceMediator() {
        amazon = null;
        ebay = null;
    }
    
    public void SetAmazon(WebService amazon) {
        this.amazon = amazon;
    }
    
    public void SetEbay(WebService ebay) {
        this.ebay = ebay;
    }
    
    public void buy(double money, WebService service) {
        if (service == amazon)
            amazon.search(money);
        else
            ebay.search(money);
    }
}

class Amazon extends WebService {
    public void SetMediator(WebServiceMediator mediator) {
        this.mediator = mediator;
    }
    
    public void buyService(double money) {
        (4);
    }
    
    public void search(double money) {
        System.out.println("Amazon receive：" + money);
    }
}

class Ebay extends WebService {
    public void SetMediator(WebServiceMediator mediator) {
        this.mediator = mediator;
    }
    
    public void buyService(double money) {
        (5);
    }
    
    public void search(double money) {
        System.out.println("Ebay receive：" + money);
    }
}