Q:

Text too dense of half circles in ggplot2

I have a small data set as follow:
df <- data.frame(x = rep(c(1, 2), 3),
                 type = rep(c("A", "B"), 3),
                 country = rep(c("Japan", "Germany", "Korea"), each = 2),
                 count = c(0.01, 0.01, 0.2, 0.2, 3, 6))

df$country <- factor(df$country, levels = c("Japan", "Germany", "Korea"))

I have plotted half circles with code below: 
ggplot(df, aes(x=x, y=sqrt(count), fill=type)) + geom_col(width =1) +
  coord_polar(theta = "x", direction = -1) +
  facet_wrap(~country) +
  theme_void()+
  geom_text(aes(label=count), vjust=0, hjust = 0, size = 5)

Out:

As you can see, the geom text of Japan and Germany are too dense. So I wonder if there are a way to adjust the position of text without changing text's size.
I have tried by modifying the values of vjust, hjust, but it seems not working.
Thanks.
UPDATE:
By adding: geom_text_repel(aes(label=value), vjust=0, hjust = 0, size = 2.5)
Part of output of my real data:

By adding geom_text(aes(label=value), size = 2.5, nudge_y = 0.5)
Part of output of my real data:

A:

I have tried different ways:
library(ggrepel)
ggplot(df, aes(x=x, y=sqrt(count), fill=type)) + geom_col(width =1) +
  coord_polar(theta = "x", direction = -1) +
  facet_wrap(~country) +
  theme_void() +
  geom_text_repel(aes(label=count), vjust=0, hjust = 0, size = 5)

Another way is to use nudge_y (I am not sure about the behavour of this method though):
ggplot(df, aes(x=x, y=sqrt(count), fill=type)) + geom_col(width =1) +
  coord_polar(theta = "x", direction = -1) +
  facet_wrap(~country) +
  theme_void() +
  geom_text(aes(label=count), size = 5, 
            nudge_y = .5
  )

Update:
If you adjust the overall size of the graph, you may get something like this:
df <- data.frame(x = rep(c(1, 2), 5),
                 type = rep(c("A", "B"), 5),
                 country = rep(c("Japan", "Germany", "Korea", "other1", "other2"), each = 2),
                 count = c(1208.734, 750.39, 1011.09, 444.83, 944.66, 295.68, 
                           698.17, 340.03, 
                           428.74, 430.15))

df$country <- factor(df$country, levels = c("Japan", "Germany", "Korea", "other1", "other2"))

ggplot(df, aes(x=x, y=sqrt(count), fill=type)) + geom_col(width =1) +
  coord_polar(theta = "x", direction = -1) +
  facet_wrap(~country, nrow =1) +
  theme_void()+
  geom_text_repel(aes(label=count), 
                  vjust=0, 
                  hjust = 0, 
                  size = 5)

