#!/bin/sh -e

ip="${1%%/*}"
len="${1##*/}"

position=$((0xFFFFFFFF))
[ "$len" -ge 0 -a "$len" -le 32 ] 2>/dev/null
mask=$(( $position - ($position >> $len) ))

IFS="."
set  $ip

printf '%s.%s.%s.%s/%s\n' \
    "$(($mask >> 24 & $1))" \
    "$(($mask >> 16 & $2))" \
    "$(($mask >> 8 & $3))" \
    "$(($mask & $4))" \
    "$len"
