Determine the network prefix and host suffix for an IPV4 address

Version 4 of the Internet Protocol (IP) defines class A, class B, and class C addresses. The following table shows an example of each of the three classes of addresses. In the familiar "dotted decimal" notation, each of the four numerical fields of the address is a non-negative integer not exceeding 255. In the binary form, each field of the address is expressed in base 2 as an 8-bit "octet". For example, the number 200, written as a sum of powers of 2, equals 128+64+8 = 2^7 + 2^6 + 2^3 = 11001000 binary.
 Class IP address in "dotted decimal" notation IP address in binary A 64.200.128.3 01000000.11001000.10000000.00000011 B 160.200.128.3 10100000.11001000.10000000.00000011 C 202.200.128.3 11001010.11001000.10000000.00000011

#### Definitions:

Class A address: The leftmost bit of the leftmost field of the binary representation is 0.

Class B address: The leftmost two bits of the leftmost field of the binary representation are 10.

Class C address: The leftmost three bits of the leftmost field of the binary representation are 110.

#### Components of a Class A address:

The leftmost bit is used only to identify the type of address, therefore it is not part of the actual address. The remaining bits of the leftmost field (in the above example, 1000000) constitute the network prefix (which identifies a particular subnet within the Internet). The remaining fields (11001000.10000000.00000011) are concatenated to form the host suffix (which identifies a particular computer within a subnet).

Therefore, in the above example,

Network prefix = 1000000 binary = 64 decimal
Host Suffix = 110010001000000000000011 binary = 13139971 decimal

#### Components of a Class B address:

The leftmost two bits are used only to identify the type of address, therefore they are not part of the actual address. The remaining bits of the leftmost field (in the above example, 100000), concatenated with the second-leftmost field (11001000) constitute the network prefix. The remaining fields (10000000.00000011) are concatenated to form the host suffix.

Therefore, in the above example,

Network prefix = 10000011001000 binary = 8392 decimal
Host Suffix = 1000000000000011 binary = 32771 decimal

#### Components of a Class C address:

The leftmost three bits are used only to identify the type of address, therefore they are not part of the actual address. The remaining bits of the leftmost field (in the above example, 01010), concatenated with the second- and third-leftmost fields (11001000.10000000) constitute the network prefix. The remaining field (00000011) forms the host suffix.

Therefore, in the above example,

Network prefix = 010101100100010000000 binary = 706688
Host Suffix = 00000011 binary = 3

#### INPUT: ip.in

One or more IP-addresses in dotted decimal form, for example,
```       column   111111111122222222223
123456789012345678901234567890
line 1:64.200.128.3[EOL]
2:160.200.128.3[EOL]
3:202.200.128.3[EOL]
4:127.255.255.255[EOL]
:[EOF]
```
• Each line of the input will contain exactly one IP address.
• There will be no leading, trailing, or embedded spaces or tabs.
• Each IP address will contain four numerical fields. Adjacent fields will be separated by one period ("dot").
• Each numerical field will be a non-negative integer, not exceeding 255.

#### OUTPUT: ip.out

Each line of input will give rise to one line of output, containing the network prefix and host suffix, in the format illustrated by the following example (which comes from the above input example):
```       column   111111111122222222223333333333
123456789012345678901234567890123456789