Expressing the language of squares as a concatenation of two languages
The answer depends on $|\Sigma|$. If $\Sigma$ contains a single letter then $L = (\Sigma\Sigma)^*(\Sigma\Sigma)^*$ can be written as a concatenation of two nontrivial languages.

Conversely, suppose that $|\Sigma| &gt; 1$, say $a,b \in \Sigma$. Since $\epsilon \in L$, necessarily $\epsilon \in L_1,L_2$. This implies that all words in $L_1,L_2$ are squares, and in particular $a \notin L_1,L_2$. Since $aa \in L$, we must have $aa \in L_1$ or $aa \in L_2$. Without loss of generality, assume that $aa \in L_1$. We similarly get that $bb \in L_1$ or $bb \in L_2$. Since $aabb \notin L$, we must have $bb \in L_1$. Since $L_2 \neq \{\epsilon\}$, it must contain some non-empty word $w$. Hence both $aaw$ and $bbw$ are squares. However, this is impossible (why?), and we reach a contradiction.