#include <iostream>
#include <algorithm>

int SPECIAL = 100500;

struct less
{
    bool operator() (int a, int b)
    {
        if (a == SPECIAL || b == SPECIAL)
            return false;
        return a < b;
    }
};

int main()
{
    int a[]= {SPECIAL, 7, 3, 4, 1, 4, 9};
    int b[]= {7, 3, 4, 1, 5, 4, 9};

    std::sort(std::begin(a), std::end(a), less());
    std::sort(std::begin(b), std::end(b), less());

	for (int aa : a) {
		std::cout << aa << " ";
	}
	std::cout << std::endl;

	for (int bb : b) {
		std::cout << bb << " ";
	}
	std::cout << std::endl;
	
	std::cout << "max = " << *std::max_element(std::begin(a), std::end(a), less()) << std::endl;
	std::cout << "min = " << *std::min_element(std::begin(a), std::end(a), less())<< std::endl;
	
	std::cout << "max = " << *std::max_element(std::begin(b), std::end(b), less()) << std::endl;
	std::cout << "min = " << *std::min_element(std::begin(b), std::end(b), less())<< std::endl;

    return 0;
}
