package main
import (
"bufio"
"fmt"
"os"
"sort"
"strings"
)
func main() {
snr := bufio.NewScanner(os.Stdin)
snr.Scan()
str := snr.Text()
str = strings.Trim(str, " ")
nums := []int{}
for i := 0; i < len(str); i++ {
nums = append(nums, int(str[i]-'0'))
}
sort.Ints(nums)
cnt := helper(nums)
//fmt.Println(cnt)
sum := cnt * cnt * cnt * cnt
fmt.Println(sum)
}
func helper(nums []int) int {
ans := 0
row := 0
var dfs func(start int)
dfs = func(start int) {
ans++
fmt.Println(row)
//fmt.Println("row:", row, ans)
for j := start; j < len(nums); j++ {
if row*10+nums[j] > 255 {
continue
}
if row == 0 && nums[j] == 0 {
continue
}
row = row*10 + nums[j]
dfs(start)
row = row / 10
}
}
dfs(0)
//fmt.Println("nums:", nums)
if nums[0] == 0 {
return ans
}
return ans - 1
}