Question: > 
> *No, not that thing in powerpoint*
> 
> 
> 

You will be given a string, and a 2D array of boolean values. The 2D array will represent a picture.

You will be creating art out of it.

Let me show you how.

The steps to art
================

First, you create a square which fits the 2d array, with the string.

Like if the string is 'PPCG', and the picture is 4x3, the square should be like this.

```
PPCG
PCGP
CGPP
GPPC

```

Now in the square, erase all characters which the corresponding boolean is 0, or the corresponding boolean doesn't exist.

Let me show you. If the 2D array is

```
1001
0110
1001

```

And the square is same to the above (above this one), the result should be like:

```
P  G
 CG 
C  P

```

Now output the result.

Test data is not made yet. Will add ASAP.
=========================================

Rules
=====

* General [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") rules apply, including loopholes.

Answer: 
Python 3, 122 bytes
===================

```py
i=input();l=len(i)
if l!=1:
    print(i)
    for I in range(1,l-1): print(i[I]+" "*(l-2)+i[l-I-1])
    print(i[::-1])
else:print(i)

```

[Attempt This Online!](https://ato.pxeger.com/run?1=m72soLIkIz9vwYKlpSVpuhY3qzJtM_MKSks0NK1zbHNS8zQyNbky0xRyFG0Nrbg4C4oy80pAQpxp-UUKngqZeQpFiXnpqRqGOjm6hppWClAF0Z6x2koKSloaObpGmtqZ0Tm6nrqGsZpwA6KtrMD81JziVCuYoRAXQB2yYGEihAEA)
[><> (Fish)](https://esolangs.org/wiki/Fish) - 153 bytes
========================================================

```
l:>:?v;l$-[r:or].
-$/-$>$: ?vao~1-l1
  ^1vv?(2:<
 1^\:>$:&05&60. >$:&04&60.
o 1^\l3-=?v$:2(?^:l3-=?v$' '
 $^/$-3l:$<   /1-$-3l:$<
   \-1+&05&60.\+&04&60.

```

[Try it](https://mousetail.github.io/Fish/#eyJ0ZXh0IjoibDo+Oj92O2wkLVtyOm9yXS5cbi0kLy0kPiQ6ID92YW9+MS1sMVxuICBeMXZ2PygyOjxcbiAxXlxcOj4kOiYwNSY2MC4gPiQ6JjA0JjYwLlxubyAxXlxcbDMtPT92JDoyKD9eOmwzLT0/diQnICdcbiAkXi8kLTNsOiQ8ICAgLzEtJC0zbDokPFxuICAgXFwtMSsmMDUmNjAuXFwrJjA0JjYwLiIsImlucHV0IjoiMjUiLCJzdGFjayI6IkhlbGxvIFdvcmxkISIsIm1vZGUiOiJjaGFycyJ9)

Make sure the initial stack setting is set to "chars", occasinally it bugs out and switches itself to numbers.

Summary
-------

[![enter image description here](https://i.stack.imgur.com/abCS1.png)](https://i.stack.imgur.com/abCS1.png)

The blue bar at the top `l$-[r:or]` prints the n-th letter. The rest of the code is mostly branches leading to `&04&60.` that jump to the nth letter printer.