package main
import (
"bufio"
"fmt"
"math"
"os"
"sort"
"strconv"
"strings"
)
var sc = bufio.NewScanner(os.Stdin)
var wr = bufio.NewWriter(os.Stdout)
func main() {
defer wr.Flush()
sc.Split(bufio.ScanWords)
sc.Buffer([]byte{}, math.MaxInt32)
// use getI(), getS(), getInts(), getF()
s := strings.Split(getS(), "")
out(s[0] + "UPC")
}
func out(x ...interface{}) {
fmt.Fprintln(wr, x...)
}
func outStrings(x []string) {
out(strings.Join(x, " "))
}
func outInts(x []int) {
y := make([]string, len(x))
for i := 0; i < len(x); i++ {
y[i] = strconv.Itoa(x[i])
}
outStrings(y)
}
func getI() int {
sc.Scan()
i, e := strconv.Atoi(sc.Text())
if e != nil {
panic(e)
}
return i
}
func getF() float64 {
sc.Scan()
i, e := strconv.ParseFloat(sc.Text(), 64)
if e != nil {
panic(e)
}
return i
}
func getInts(N int) []int {
ret := make([]int, N)
for i := 0; i < N; i++ {
ret[i] = getI()
}
return ret
}
func getS() string {
sc.Scan()
return sc.Text()
}
// min, max, aSub, absなど基本関数
func max(a, b int) int {
if a > b {
return a
}
return b
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
// min for n entry
func nMin(a ...int) int {
ret := a[0]
for _, e := range a {
ret = min(ret, e)
}
return ret
}
// max for n entry
func nMax(a ...int) int {
ret := a[0]
for _, e := range a {
ret = max(ret, e)
}
return ret
}
func chMin(a *int, b int) bool {
if *a < b {
return false
}
*a = b
return true
}
func chMax(a *int, b int) bool {
if *a > b {
return false
}
*a = b
return true
}
func aSub(a, b int) int {
if a > b {
return a - b
}
return b - a
}
func abs(a int) int {
if a >= 0 {
return a
}
return -a
}
func lowerBound(a []int, x int) int {
idx := sort.Search(len(a), func(i int) bool {
return a[i] >= x
})
return idx
}
func upperBound(a []int, x int) int {
idx := sort.Search(len(a), func(i int) bool {
return a[i] > x
})
return idx
}