# Uiua, <s>46</s> <s>44</s> <s>42</s> 40 bytes <sup>[crossed out 44 is still regular 44 :(](https://codegolf.stackexchange.com/a/256052/108687)</sup> ⊏◿13/+×+2⇡4⇌=0[⍉.⊞⟜⊃-+.]-⇡+1×2.:$ O/\-| [Try it!](https://uiua.org/pad?src=0_10_1__RiDihpAg4oqP4pe_MTMvK8OXKzLih6E04oeMPTBb4o2JLuKKnuKfnOKKgy0rLl0t4oehKzHDlzIuOiQgIE8vXC18CgriiaEmcCBGIDAK4omhJnAgRiAxCuKJoSZwIEYgMgriiaEmcCBGIDMK) I’m submitting this on the day of the 2024 solar eclipse, which is fitting for a challenge about the sun. I also like that all of my improvements have been by 2 bytes each :) As of my latest revision 42 → 40 bytes, this borrows some logic from [randomra’s very clever J solution](https://codegolf.stackexchange.com/a/49785/108687). This still isn’t a direct port as some parts didn’t translate so well to Uiua. I also have a 41 byte solution which doesn’t do any porting: ⊏◿13/+×+2⇡4[⍉,⇌,]↯⧻.:⊞=.⟜=⇡+1×2.:$ O-/|\ [Try it!](https://uiua.org/pad?src=0_10_1__RiDihpAg4oqP4pe_MTMvK8OXKzLih6E0W-KNiSzih4wsXeKGr-Knuy464oqePS7in5w94oehKzHDlzIuOiQgIE8tL3xcCgriiaEoJnAiIuKJoSZwIEYpIOKHoTQK) Explanation of the 41 bytes: Consider the input 3. We double this and add 1 to get the side length 7. From this we start with the identity matrix, and a reversed copy: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 Also make the array of this many zeros with a 1 at the position of the original input: 0 0 0 1 0 0 0 Create a square matrix of this, and a transposed copy: 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 Then we take these 4 matrices in an array and multiply them by 2, 3, 4, and 5 respectively: 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 3 3 3 3 3 3 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 5 0 4 0 0 0 0 0 0 0 0 0 0 5 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 0 4 0 0 0 0 5 0 0 0 0 0 0 0 0 0 4 0 0 5 0 0 0 0 0 0 0 0 0 0 0 4 5 0 0 0 0 0 0 Sum them all together: 4 0 0 2 0 0 5 0 4 0 2 0 5 0 0 0 4 2 5 0 0 3 3 3 14 3 3 3 0 0 5 2 4 0 0 0 5 0 2 0 4 0 5 0 0 2 0 0 4 We’re going to index these numbers into a string to get each character, and that 14 is going to get in the way, so take the results mod 13: 4 0 0 2 0 0 5 0 4 0 2 0 5 0 0 0 4 2 5 0 0 3 3 3 1 3 3 3 0 0 5 2 4 0 0 0 5 0 2 0 4 0 5 0 0 2 0 0 4 Finally index these into a string so that 0 becomes a space, 1 becomes O, 2 becomes |, 3 becomes -, 4 becomes \\, and 5 becomes /: \ | / \ | / \|/ ---O--- /|\ / | \ / | \