```go
package main
import (
"fmt"
"sort"
)
type skill struct {
name string
level int
}
func main() {
var n, m int
var k float64
fmt.Scan(&n, &m, &k)
skills := make(map[string]int)
for i := 0; i < n; i++ {
var name string
var exp int
fmt.Scan(&name, &exp)
newExp := int(float64(exp)*k + 1e-9)
if newExp >= 100 {
skills[name] = newExp
}
}
for i := 0; i < m; i++ {
var name string
fmt.Scan(&name)
if _, exists := skills[name]; !exists {
skills[name] = 0
}
}
var result []skill
for name, level := range skills {
result = append(result, skill{name, level})
}
sort.Slice(result, func(i, j int) bool {
return result[i].name < result[j].name
})
fmt.Println(len(result))
for _, s := range result {
fmt.Printf("%s %d\n", s.name, s.level)
}
}
```