Can I Type This With My Left Hand? Inspiration

The longest words that can be typed with only the left hand on a standard QWERTY keyboard are "sweaterdresses", "tesseradecades", and "aftercataracts" (Source: Wikipedia).

Challenge

Given as input a "keyboard" \$K\$ and a string \$S\$ determine whether \$S\$ can be typed using only the left hand on keyboard \$K\$.

Input

The keyboard \$K\$ will be provided as a list of 3 rows. You may take this input in any reasonable format (eg. a list of 3 strings, a list of 3 lists of characters, etc.), but please do not take the left-hand-side and right-hand-side of the keyboard separately, as that defeats the purpose of the challenge. 

You may assume that the input contains only lowercase letters (or only uppercase letters if you wish). Each of the three rows of the keyboard may be of any non-zero size, but each letter from a-z will appear only once on the keyboard.

Example 1: [qwertyuiop, asdfghjkl, zxcvbnm]

Example 2: [qazwsxplkm, edcrfv, tgbyhnuji]

The string \$S\$ may also be taken as input in any reasonable format.

Output

Output a truthy value if the string \$S\$ can be typed using the left hand on the keyboard \$K\$ and a falsey value otherwise. 

For the purposes of this challenge: A word can be typed with the left hand if it is made up solely of letters appearing in the first half of each row of the keyboard. If a row contains an odd number of letters, the middle letter is also included in the first half. 

Using the row asdfghjkl as an example, the word gafs can be typed with the left hand.

Scoring

This is code-golf. Make your code as short as possible.

Test Cases

These are formatted as \$K\$, \$S\$ -&gt; (expected output)

[qwertyuiop, asdfghjkl, zxcvbnm], qazg -&gt; true
[qwertyuiop, asdfghjkl, zxcvbnm], qpazg -&gt; false
[p, asdfghjklqwertyuio, zxcvbnm], sxzklkl -&gt; true
[p, asdfghjklqwertyuio, zxcvbnm], b -&gt; false
[qazwsxplkm, edocrfv, tgbyhnuji], bad -&gt; true
[qazwsxplkm, edocrfv, tgbyhnuji], tex -&gt; false
[thequick, brownfx, jmpsvlazydg], brow -&gt; true
[thequick, brownfx, jmpsvlazydg], fox -&gt; false
Python 3, 48 bytes

Takes as input \$ K \$ and \$ S \$, the keyboard and the target string. \$ K \$ is a taken as a list of lists.



lambda K,S:{r.pop(0)for r in K for i in r}&gt;={*S}


Try it online!

Explanation

It essentially converts \$ S \$ and the valid keyboard characters \$ K' \$ into sets, and returns True iff \$ S \$ is a subset of \$ K' \$. To obtain only the first half of each row of \$ K \$, we use the pop trick, which is explained in this answer of mine.



The previous answer, where \$ K \$ is taken as a list of strings instead.

Python 3, 54 bytes



lambda K,S:{*''.join(r[:-~len(r)//2]for r in K)}&gt;={*S}


Try it online!