#include <unistd.h>
void ft_putnbr(int nb)
{
int nbr;
char ch;
nbr = nb;
if (nbr < 0)
{
write(1, "-", 1);
nbr *= -1;
}
if (nbr >= 10)
{
ch = (nbr % 10) + 48;
ft_putnbr(nbr / 10);
write(1, &ch, 1);
}
else
{
ch = nbr + 48;
write(1, &ch, 1);
}
}
int ft_atoi(char *str)
{
int nbr;
int sign;
int i;
nbr = 0;
sign = 1;
i = 0;
while (('\t' <= str[i] && str[i] <= '\r') || str[i] == ' ')
i++;
while (str[i] == '-' || str[i] == '+')
{
if (str[i] == '-')
sign *= -1;
i++;
}
while (('0' <= str[i] && str[i] <= '9') || (str[i] != '\0'))
{
nbr = (nbr * 10) + (str[i] - 48);
i++;
}
return (sign * nbr);
}
int main(void)
{
char N[8] = "0000000";
char nb[9] = "00000000";
int n;
int nbr;
int i;
int j;
int MAX;
int MIN;
i = 0;
MAX = -1000001;
MIN = 1000001;
while(read(1, &N[i], 1))
{
if (N[i] == '\n')
{
N[i] = '\0';
break ;
}
i++;
}
n = ft_atoi(N);
i = 0;
while (i < n)
{
j = 0;
while (read(1, &nb[j], 1))
{
if ((nb[j] == '\n') || (nb[j] == ' '))
{
nb[j] = '\0';
break ;
}
j++;
}
nbr = ft_atoi(nb);
if (MAX < nbr)
MAX = nbr;
if (MIN > nbr)
MIN = nbr;
i++;
}
ft_putnbr(MIN);
write(1, " ", 1);
ft_putnbr(MAX);
write(1, "\n", 1);
return (0);
}
I2luY2x1ZGUgPHVuaXN0ZC5oPgoKdm9pZCBmdF9wdXRuYnIoaW50IG5iKQp7CglpbnQgbmJyOwoJY2hhciBjaDsKCgluYnIgPSBuYjsKCWlmIChuYnIgPCAwKQoJewoJCXdyaXRlKDEsICItIiwgMSk7CgkJbmJyICo9IC0xOwoJfQoJaWYgKG5iciA+PSAxMCkKCXsKCQljaCA9IChuYnIgJSAxMCkgKyA0ODsKCQlmdF9wdXRuYnIobmJyIC8gMTApOwoJCXdyaXRlKDEsICZjaCwgMSk7Cgl9CgllbHNlCgl7CgkJY2ggPSBuYnIgKyA0ODsKCQl3cml0ZSgxLCAmY2gsIDEpOwoJfQp9CgppbnQgZnRfYXRvaShjaGFyICpzdHIpCnsKCWludAkJbmJyOwoJaW50CQlzaWduOwoJaW50CQlpOwoKCW5iciA9IDA7CglzaWduID0gMTsKCWkgPSAwOwoJd2hpbGUgKCgnXHQnIDw9IHN0cltpXSAmJiBzdHJbaV0gPD0gJ1xyJykgfHwgc3RyW2ldID09ICcgJykKCQlpKys7Cgl3aGlsZSAoc3RyW2ldID09ICctJyB8fCBzdHJbaV0gPT0gJysnKQoJewoJCWlmIChzdHJbaV0gPT0gJy0nKQoJCQlzaWduICo9IC0xOwoJCWkrKzsKCX0KCXdoaWxlICgoJzAnIDw9IHN0cltpXSAmJiBzdHJbaV0gPD0gJzknKSB8fCAoc3RyW2ldICE9ICdcMCcpKQoJewoJCW5iciA9IChuYnIgKiAxMCkgKyAoc3RyW2ldIC0gNDgpOwoJCWkrKzsKCX0KCXJldHVybiAoc2lnbiAqIG5icik7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGNoYXIgTls4XSA9ICIwMDAwMDAwIjsKICAgIGNoYXIgbmJbOV0gPSAiMDAwMDAwMDAiOwoJaW50IG47CglpbnQgbmJyOwoJaW50IGk7CglpbnQgajsKCWludCBNQVg7CglpbnQgTUlOOwoKCWkgPSAwOwoJTUFYID0gLTEwMDAwMDE7CglNSU4gPSAxMDAwMDAxOwoJd2hpbGUocmVhZCgxLCAmTltpXSwgMSkpCgl7CgkJaWYgKE5baV0gPT0gJ1xuJykKCQl7CgkJCU5baV0gPSAnXDAnOwoJCQlicmVhayA7CgkJfQoJCWkrKzsKCX0KICAgIG4gPSBmdF9hdG9pKE4pOwogICAgaSA9IDA7Cgl3aGlsZSAoaSA8IG4pCgl7CgkJaiA9IDA7CgkJd2hpbGUgKHJlYWQoMSwgJm5iW2pdLCAxKSkKCQl7CgkJCWlmICgobmJbal0gPT0gJ1xuJykgfHwgKG5iW2pdID09ICcgJykpCgkJCXsKCQkJCW5iW2pdID0gJ1wwJzsKCQkJCWJyZWFrIDsKCQkJfQoJCQlqKys7CgkJfQoJCW5iciA9IGZ0X2F0b2kobmIpOwoJCWlmIChNQVggPCBuYnIpCgkJCU1BWCA9IG5icjsKCQlpZiAoTUlOID4gbmJyKQoJCQlNSU4gPSBuYnI7CgkJaSsrOwoJfQoJZnRfcHV0bmJyKE1JTik7Cgl3cml0ZSgxLCAiICIsIDEpOwoJZnRfcHV0bmJyKE1BWCk7Cgl3cml0ZSgxLCAiXG4iLCAxKTsKCXJldHVybiAoMCk7Cn0=