Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

MWP2_1B - Kalkulator IP

- Myślisz, że naprawdę uwierzę w te brednie, że masz CCNA?
- Ale ja naprawdę zdałem CCNA już pół roku temu! Jak chcesz mogę Ci to udowodnić!
- Hmm ... OK! Masz tutaj listę adresów IP i masek podsieci. Na jutro dla każdej takiej pary oblicz mi ile jest używalnych adresów IP w sieci o podanej masce i wyznacz pierwszy oraz ostatni adres IP jaki będę mógł nadać swoim urządzeniom sieciowym. No chyba, że sieć ma zero używalnych adresów wtedy nic nie wypisuj.
- OK.
- Taki prosty kalkulator IP nie powinien być problemem dla kogoś z CCNA, kto na dodatek potrafi programować. Do zobaczenia jutro.

No i tak to mniej więcej wyglądało, błagam Cię napisz za mnie ten kalkulator, nie chcę żeby wyszło na jaw, że nie mam zielonego pojęcia o sieciach.

Wejście

W pierwszej linii wejścia znajduje się jedna liczba naturalna d (1 ≤ d ≤ 33) określająca ilość zestawów danych. W kolejnych d liniach znajdują się zestawy danych.

Każdy zestaw danych składa się z pojedynczej linii zawierającej 8 liczb pooddzielanych pojedynczymi spacjami. Pierwsze cztery określają adres IP, zaś kolejne 4 to maska sieci. Każda z liczb może przyjmować wartości od 0 do 255.

Wyjście

Dla każdego zestawu danych wypisz w pierwszej linii ilość dostępnych do użycia adresów IP w danej sieci, zaś w drugim wierszu pierwszy i ostatni z tych adresów (o ile w ogóle jakieś są dostępne). Podane adresy powinny zostać przedzielone pojedynczą spacją.

Przykład

Wejście:

3 
192 168 1 0 255 255 255 255 
10 0 0 1 255 255 252 0 
172 16 1 15 255 255 0 0

Wyjście:

0 
1022 
10.0.0.1 10.0.3.254 
65534 
172.16.0.1 172.16.255.254

Dodane przez:Maciej Boniecki
Data dodania:2010-01-07
Limit czasu wykonania programu:0.200s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:II Mistrzostwa WWSI w Programowaniu
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.