Bad Data

Set and bag operations in shell

Tue Nov 17 14:41:29 2020

Peter Krumins has a blog post about set operations in the unix shell which has some issues.

  1. Many of his operations are bash specific, and so I wouldn't call them for the "unix" shell, but rather the bash shell.
  2. For the most part, they aren't set operations at all, but rather bag operations.
  3. There is a join(1) command which can simplify some of these.

But the items are good for what they are. Following is my take on these.

First some definitions and specifications.

Set Membership

This is a simple grep against a fixed string.

grep -Fxq e A

Set Equality

This is more difficult, because the set files may not be sorted, and we want to avoid intermediate files. We can use join here to output non-matching lines.

expr "$(join -v1 -v2 A B | head -n1 | wc -l)" = 1 > /dev/null

Ok, that's hideous. I am not aware of any unix command that will return by exit value if it's input is empty.

Merely outputing the wc -l won't give an exit value, so by itself that's not sufficient to meet the above specs.

So, here's a better version:

join -v1 -v2 A B | head -n1 | (read x && test -n "$x")

At least a little better anyway, as it's a pure pipeline, albeit with a subshell. The subshell isn't strictly needed, but it avoids polluting the calling shells namespace.

From here on out the snippets will assume that you have the read and test in a shell function or program named 'nonempty', which returns true if its stdin consists of at least one line.

Similarly the snippets will assume that you have an 'empty' program which is the opposite.

And both of those will only need to read at most one line, so a preceeding head -n1 isn't needed.

Set Cardinality

The cardinality of a (finite) set is just the number of elements. Unlike the above, this produces a result, so we don't have to do stupid tricks with expr to get an exit status.

wc -l A | cut -d ' ' -f1

Ok, that's still dumb, because there isn't any way to tell wc to not say the name of the file, if it reads from a file rather than stdin. So you can do

wc -l < A

But the redirect has a certain goofiness of it's own.

We can let awk do the work.

awk 'END { print NR }' A

I think that's posix. It's going to be generally true that "let awk handle it" will solve these issues. I'm not sure that's a shell solution though, and I'd have to retitle this post as set operations in awk, which isn't nearly as cool.

Subset

Here we're testing if A is a subset of B

join -v1 A B | empty

Here the join will output the elements in A that didn't have a match. If that's empty, then it's a subset. Note that this is not necessarily a proper subset, as the sets could be equal.

Union

Since sets can't have any duplicate elements, we just sort -u

sort -u A B

Intersection

The join command makes this trivial.

join A B

Complement

The elements of A that are not in B

join -v1 A B

Symmetric Difference

Elements that are in A or B but not both

join -v1 -v2 A B

Power Set

A power set is a 'set of sets', specifically the set of all subsets of a set. We don't really have any way to represent arbitrarily nested sets. Since we don't need to parse them, just generate them, I'll put them as the elements separated by spaces on a single line.

If we assign a bit to each element of the starting set, then the power set is the set of all N bit numbers, with the subset elements corresponding to the set bits.

a b c = three elements.

so it has subsets:

000 = {}
001 = {c}
010 = {b}
011 = {b,c}

etc.

and then the power set is just the set of all of those sets.

{ {}, {a}. {b}. {c}, {a, b} ... }

So, I can output the power set by getting the count, computing 2^count, then doing some ridiculous bit bashing.

And for even as little as 32 elements, the powerset will have 4 billion elements.

The obvious conclusion is "don't do this in shell".

Posted in / software

245 comments.

Comments

Zombie OG

Fri Dec 23 23:16:23 2022

Zombie OG Your articles are always incredible and amazing. Keep up that excellent work.

Comatose

Sat Dec 24 07:07:39 2022

Comatose This is pretty great website.

pyridium 200mg usa

Sun Dec 25 00:29:21 2022

crestor 20 mg prices crestor without a doctor prescription cheapest crestor 10 mg

Estase

Sun Dec 25 02:21:58 2022

casino slots

flomax 0,2 mg purchase

Sun Dec 25 20:16:28 2022

how to buy toprol toprol over the counter toprol 50 mg no prescription

Mark willson

Mon Dec 26 14:05:46 2022

Do you want to rank your website, get more traffic, and rank on the first search engine page? Here is the best way to do this. I am providing Off-page SEO for your website's higher ranking. Georgia bulldogs Leather Jacket

ChristopherBophoift

Mon Dec 26 21:57:32 2022

synonyme de maladie mentale

carvedilol 25 mg australia

Tue Dec 27 02:28:51 2022

celecoxib online celecoxib online celecoxib uk

crestor 5mg cost

Tue Dec 27 08:52:00 2022

isosorbide for sale isosorbide tablets where to buy isosorbide

Sowprape

Tue Dec 27 09:44:31 2022

best online casino

lamotrigine canada

Wed Dec 28 11:32:14 2022

robaxin tablet robaxin 500mg without a prescription robaxin united states

toprol tablet

Thu Dec 29 08:44:54 2022

cheapest imuran 25 mg imuran medication imuran medication

divalproex 500mg for sale

Fri Dec 30 03:59:45 2022

crestor 10mg pills where to buy crestor crestor 10 mg online pharmacy

Sapphire Star

Fri Dec 30 04:53:56 2022

Sapphire Star Thanks for this valuable effort. Job well done!

levaquin 500mg without a prescription

Sat Dec 31 19:13:26 2022

meclizine 25 mg no prescription meclizine 25mg canada meclizine for sale

escitalopram without prescription

Sun Jan 1 15:53:33 2023

diltiazem nz diltiazem 60mg uk diltiazem 90 mg nz

seroquel tablets

Mon Jan 2 13:08:18 2023

celebrex 100 mg tablet celebrex pharmacy celebrex 200mg pharmacy

HenryBophoift

Mon Jan 2 13:27:35 2023

che cos'ГЁ un miorilassante scheletrico

Mark willson

Mon Jan 2 14:03:14 2023

I am really impressed with your writing skills and also with the layout on your blog.Thank you so much for sharing. Varsity Jacket Ranboo

edible gummy bear

Tue Jan 3 01:26:25 2023

edible gummy bear One of akind blog ideas! Good job.

isosorbide without prescription

Tue Jan 3 18:06:40 2023

lamisil pills lamisil 250 mg price cheapest lamisil 250 mg

unsums

Wed Jan 4 16:36:05 2023

https://www.meditacionesdiarias.com/2015/11/discriminacion/

glimepiride cheap

Thu Jan 5 01:05:16 2023

coreg online coreg united kingdom coreg 6,25 mg cost

Gerardgof

Thu Jan 5 01:05:49 2023

buy brand name cialis online buy viagra nhs viagra sale shops cheapest cialis

weed hangover

Thu Jan 5 07:35:33 2023

weed hangover Nice site, its very trending and most effective Technique.

Wedding Crasher

Thu Jan 5 20:39:55 2023

Wedding Crasher I am impressed with your thirst for knowledge. The quality of your article is really much appreciated.

JackBophoift

Thu Jan 5 20:58:16 2023

quГ©s considerado presiГіn arterial alta

how to buy avapro 150mg

Thu Jan 5 21:27:05 2023

divalproex online pharmacy how to buy divalproex divalproex canada

ceclor 500 mg united states

Fri Jan 6 23:54:07 2023

levaquin 750 mg without a prescription where can i buy levaquin levaquin 750 mg uk

DominickBophoift

Sat Jan 7 11:32:41 2023

antivirales Gewebe

where can i buy ditropan

Sun Jan 8 00:17:07 2023

meclizine medication meclizine generic meclizine tablet

EmilianoBophoift

Sun Jan 8 20:52:46 2023

Gastro-Gesundheits-Infusionszentrum

cost of ciprofloxacin

Sun Jan 8 23:04:25 2023

fexofenadine coupon cheapest fexofenadine 180mg fexofenadine pills

mail order dispensary canada

Mon Jan 9 02:35:02 2023

remeron coupon remeron united states

mota cannabis products

Tue Jan 10 04:15:35 2023

http: //herbapproach.com/product-category/vendors/mota-edibles/
Thank you for sharing this interesting blog site. Keep it up!

TysonBophoift

Tue Jan 10 09:35:18 2023

perte de poids david harbour

where can i buy rosuvastatin 10mg

Wed Jan 11 01:38:01 2023

strattera 18 mg without prescription strattera 25 mg without prescription strattera 40mg tablets

Jedi Kush

Wed Jan 11 06:50:56 2023

Jedi Kush Wow! This is Excellent website.

Faustino

Wed Jan 11 06:53:05 2023

веном 2 смотреть фильм онлайн

LeonelBophoift

Wed Jan 11 21:41:52 2023

quiГ©n puede diagnosticar una enfermedad mental

ciprofloxacin usa

Thu Jan 12 00:09:37 2023

allegra 120 mg without prescription where can i buy allegra allegra cost

FabianBophoift

Fri Jan 13 00:01:47 2023

collirio per cataratta chirurgia

Sour Jack

Fri Jan 13 00:59:32 2023

cheap cialis sale where to buy generic cialis online where is the best place to buy cialis online

VincentLoath

Fri Jan 13 17:27:31 2023

buy levitra 10mg cheap cialis eu online order for cialis herbal viagra sale ireland buy viagra online can you buy viagra qatar buy cialis delhi

purple pineberry

Sat Jan 14 03:29:43 2023

purple pineberry This is perfect layout and creative site.

Curtisvar

Sat Jan 14 08:41:05 2023

levitra sale philippines levitra cheap buy viagra edinburgh viagra sale edmonton

strattera australia

Sun Jan 15 05:29:46 2023

digoxinmg canada digoxin 0.25mg generic digoxin tablets

indocin australia

Mon Jan 16 05:33:14 2023

amoxicillin nz amoxicillin 250 mg no prescription cheapest amoxicillin 250 mg

gold seal vape

Tue Jan 17 01:04:51 2023

where to buy mestinon 60mg mestinon purchase

avapro united kingdom

Wed Jan 18 03:06:59 2023

lopid 300mg generic lopid 300 mg no prescription lopid tablet

OKBET Baseball World Championship Betting

Wed Jan 18 06:43:17 2023

Nice article! I could also recommend you to get the inside scoop on OKBET sports and online casino - from the latest news to tips on how to make the most of your experience. Visit the website at https://tipsafif.com/baseball/

macrobid no prescription

Thu Jan 19 01:56:51 2023

pulmicort online pharmacy pulmicort 200 mcg usa where to buy pulmicort 200mcg

protonix 40mg australia

Thu Jan 19 22:46:14 2023

zofran over the counter zofran 4 mg cheap zofran 8 mg united kingdom

KevinBophoift

Thu Jan 19 22:55:56 2023

alГ­vio da dor do abscesso no dente rГЎpido

how to use thc distillate

Fri Jan 20 23:28:59 2023

how to use thc distillate Thank you for this site. This is very helpful.

Romulan

Sat Jan 21 00:49:20 2023

buy procardia procardia 30mg online pharmacy

celecoxib generic

Mon Jan 23 18:56:08 2023

propecia online pharmacy where to buy propecia propecia online

lonycle

Tue Jan 24 02:41:48 2023

lolo jones handstand challenge

culture pens

Tue Jan 24 08:00:26 2023

http: //herbapproach.com/product/vape-pen-250mg-cbd-culture/
Thanks for sharing an extremely nice opportunity to discover important info from this website.

QuinnBophoift

Tue Jan 24 11:05:20 2023

alivio del dolor de la articulaciГіn sacroilГ­aca

phyto extractions bc

Wed Jan 25 05:47:25 2023

phyto extractions bc Wow! Its absolutely gorgeous layout site.

indocin over the counter

Fri Jan 27 00:24:13 2023

ampicillin 500mg cheap ampicillin online where can i buy ampicillin

Purple Candy

Fri Jan 27 02:58:00 2023

Purple Candy Awesome point of view on this blog site!

macrobid cost

Sat Jan 28 00:24:25 2023

loratadine pills loratadine 10mg pharmacy loratadine without prescription

Candy Land

Sat Jan 28 06:40:06 2023

Candy Land Bravo! This is Extraordinary site.

JuanBophoift

Sat Jan 28 12:57:55 2023

ocd は精神疾患ですか

Quinton

Sat Jan 28 14:04:45 2023

At this time I am going to do my breakfast, after having my breakfast coming yet again to read other news. fosamax 70mg https://lyridehu.cfd/ https://bigaviteliro.cloud/ https://nehyvikafovo.hair/ https://ranunynifi.cyou/

periactin generic

Sun Jan 29 15:44:17 2023

garcinia cambogia caps pharmacy garcinia cambogia 100caps united kingdom garcinia cambogia caps usa

NashBophoift

Mon Jan 30 20:42:37 2023

kardiovaskulär kondition

motrin cheap

Wed Feb 1 03:55:42 2023

ampicillin united kingdom cheapest ampicillin ampicillin 250 mg for sale

LandonBophoift

Wed Feb 1 09:17:35 2023

オールダイヤルソープ抗菌

compazine 5 mg tablets

Thu Feb 2 06:01:27 2023

catapres without a doctor prescription catapres usa catapres coupon

NathanBophoift

Thu Feb 2 14:02:58 2023

peanut-allergibehandling

flyte cartridge

Fri Feb 3 02:54:49 2023

flyte cartridge Great work! Its absolutely amazing site.

spironolactone 100mg online pharmacy

Fri Feb 3 07:10:00 2023

rosuvastatin price rosuvastatin cheap rosuvastatin tablet

GunnerBophoift

Fri Feb 3 21:34:20 2023

dove antibakteriell

cheapest donepezil

Sat Feb 4 11:56:27 2023

cheap augmentin 250/125 mg cost of augmentin 875/125 mg augmentin without prescription

ErikBophoift

Sun Feb 5 10:18:05 2023

nivelreuma kädet

vantin 100mg tablet

Sun Feb 5 22:34:26 2023

order etodolac how to purchase etodolac etodolac 300mg without a prescription

AriBophoift

Mon Feb 6 22:47:52 2023

kardiovaskulär teknik

Lamb's Bread

Tue Feb 7 07:12:02 2023

remeron 15mg no prescription remeron 30 mg united states

Weed Leaf

Wed Feb 8 06:04:12 2023

Weed Leaf Thanks for sharing this awesome site!

MateoBophoift

Wed Feb 8 10:56:51 2023

co se povaЕѕuje za nГ­zkГЅ krevnГ­ tlak

glimepiride price

Wed Feb 8 20:58:46 2023

risperdal 4mg no prescription risperdal without prescription where to buy risperdal

LukasBophoift

Thu Feb 9 20:30:49 2023

symptomen van prostaatkanker

Lemon Haze

Mon Feb 13 09:13:57 2023

Lemon Haze One of akind blog ideas! keep it up.

FinneganBophoift

Mon Feb 13 17:50:29 2023

wysoki cholesterol

cannalean canada

Mon Feb 13 23:25:37 2023

cannalean canada Im happy to see your site. I would strongly recommend this kind of site to everyone.

fruity pebbles og

Tue Feb 14 02:18:14 2023

diamox united kingdom diamox 250mg for sale

drive thru

Fri Feb 17 02:45:01 2023

drive thru I like your informative blog site here.

rosuvastatin nz

Sat Feb 18 06:50:58 2023

ditropan pharmacy where can i buy ditropan 2,5 mg ditropan cheap

SantinoBophoift

Sat Feb 18 11:18:29 2023

kГ¶nnen schuppen haarausfall verursachen

escitalopram purchase

Sun Feb 19 14:31:36 2023

verapamil 40mg tablets verapamil cheap verapamil without prescription

how to smoke shatter

Mon Feb 20 07:20:58 2023

how to smoke shatter Your blog is good and amazing. keep up the good work!

loperamide tablet

Mon Feb 20 16:38:43 2023

where to buy geodon 40 mg geodon tablet geodon 40mg tablets

MemphisBophoift

Tue Feb 21 15:45:20 2023

les diurГ©tiques font-ils maigrir

Cannabis Vancouver

Wed Feb 22 06:48:39 2023

Cannabis Vancouver Excellent work. Thanks for this site.

meclizine united states

Wed Feb 22 18:31:18 2023

buy metoclopramide metoclopramide 10mg generic metoclopramide cheap

order pot online canada

Wed Feb 22 18:38:28 2023

order pot online canada What a week! I was really pleased with the content of your blog. It is really worth to read.

tamoxifen 20 mg purchase

Fri Feb 24 00:36:15 2023

divalproex without a doctor prescription where to buy divalproex 250mg divalproex medication

Veituets

Fri Feb 24 01:31:32 2023

https://thesatorireport.com/tv-movies/piers-morgans-fresh-attack-on-prince-harrys-racism-claims/

Agent Orange

Sat Feb 25 06:40:11 2023

Agent Orange I am really happy with your site because your site is very unique and powerful.

mestinon 60 mg generic

Sat Feb 25 09:43:15 2023

ceftin pills order ceftin ceftin coupon

DanteBophoift

Sat Feb 25 14:15:50 2023

platina hudpleie

Moby Dick

Mon Feb 27 04:18:04 2023

ashwagandha caps cheap cheap ashwagandha 60caps

SaiYoung

Tue Feb 28 08:55:41 2023

Superb article! Thank you for enlightening us with your insights. Get set to convert your downtime into revenue. Get in on the action at OKBET's online casino and sportsbook right now by signing up. For exciting wagering options, check out OKBET's online betting. Get your wagers in now!

YoungSai

Thu Mar 2 10:05:29 2023

Superb article! Thank you for enlightening us with your insights. Get set to convert your downtime into revenue. Get in on the action at OKBET's online casino and sportsbook right now by signing up. For exciting wagering options, check out OKBET's NBA online betting Ph. Get your wagers in now!

digoxinmg medication

Thu Mar 2 18:59:21 2023

indomethacin for sale indomethacin 75 mg online pharmacy cheap indomethacin

top rated canadian online pharmacy

Thu Mar 2 19:05:05 2023

canada pharmacy online no prescription https://canadianpharmacyhd.com/ mexican pharmacies shipping to usa

euphoria shatter bars

Thu Mar 2 23:33:03 2023

euphoria shatter bars I really love your site. I would strongly recommend this kind of site to everyone.

How To Smoke a Bong

Fri Mar 3 20:30:25 2023

How To Smoke a Bong I noticed and appreciated the quality of your work. It is absolutely fantastic!

prescriptions online

Fri Mar 3 23:42:08 2023

mexican online pharmacies https://canadianpharmacyhd.com/ prescription meds without the prescription

spironolactone online

Sun Mar 5 17:07:55 2023

dramamine coupon dramamine cheap dramamine nz

Death Star

Mon Mar 6 02:46:05 2023

celebrex 200 mg without prescription how to buy celebrex

SethBophoift

Tue Mar 7 08:40:24 2023

naisten terveydensuojelulaki 2022

Chemo Kush

Wed Mar 8 05:58:56 2023

Chemo Kush Good job! This is Excellent site.

cost of meclizine

Wed Mar 8 14:04:07 2023

cheapest rosuvastatin rosuvastatin otc rosuvastatin pills

metoclopramide online

Thu Mar 9 20:09:52 2023

vantin 200mg coupon vantin nz vantin 200mg united states

levaquin over the counter

Sat Mar 11 00:47:14 2023

allegra cost allegra 180 mg tablets how to buy allegra 180 mg

expensive cool bongs

Sat Mar 11 03:46:56 2023

expensive cool bongs Very nice site, stumbled across your site and wanted to say that I really enjoy browsing your site.

tamoxifen coupon

Sun Mar 12 01:43:40 2023

singulair 10 mg uk buy singulair 5 mg singulair canada

how to buy motrin

Mon Mar 13 03:01:45 2023

buy celebrex celebrex 100mg without prescription celebrex prices

IsaiasBophoift

Tue Mar 14 18:35:55 2023

hormГґnios sexuais femininos sГЈo produzidos pela

Dong

Wed Mar 15 03:53:10 2023

Всё везде и сразу

order finasteride 1mg

Wed Mar 15 15:47:04 2023

procardia 30 mg without a doctor prescription procardia price procardia 30 mg united states

hyzaar online pharmacy

Thu Mar 16 20:56:48 2023

dramamine nz dramamine 50 mg online dramamine no prescription

White Russian

Fri Mar 17 00:19:13 2023

https: //buylowgreen.com/product/white-russian/
One of a kind blog ideas! keep it up.

dutch treat weed

Fri Mar 17 04:41:52 2023

dutch treat weed Its really a great and useful site.

levaquin 750mg without a prescription

Sun Mar 19 02:59:48 2023

where to buy sildenafil sildenafil usa sildenafil united kingdom

Death Star

Sun Mar 19 07:26:14 2023

Death Star This is absolutely outstanding work. Your creative potential seems limitless.

aldactone united states

Mon Mar 20 07:14:11 2023

order zofran 4 mg zofran 8mg coupon zofran canada

nba online betting ph

Tue Mar 21 05:41:51 2023

Nice article! I could also recommend you to get the inside scoop on NBA sports - from the latest news to tips on how to make the most of your experience. Visit the website at https://nbaonlinebetting.ph/

toprol 100 mg prices

Tue Mar 21 11:16:58 2023

macrobid without a prescription macrobid 100 mg united kingdom macrobid 100 mg price

Medical Marijuana

Wed Mar 22 02:45:56 2023

http: //herbapproach.com/product-category/cannabis-flower/
Nice and helpful piece of information. Keep this going, great job!

Black Diamond

Wed Mar 22 06:34:51 2023

Black Diamond Your site is very unique and impressive.

online dispensaries canada

Wed Mar 22 13:55:19 2023

https: //herbapproach.com/
Thank you for the information. Amazing blog. Nice one!

cheapest escitalopram 5 mg

Thu Mar 23 03:37:40 2023

coreg no prescription cheap coreg 6,25mg coreg 12,5 mg cost

pink runts

Thu Mar 23 10:35:42 2023

pink runts I really appreciate the extra work you took on to make sure that your blog will be quite impressive.

weed coffee shops

Sat Mar 25 04:22:52 2023

weed coffee shops I love your site its very impressive theme.

cost of escitalopram 20 mg

Sat Mar 25 11:55:49 2023

tamoxifen pills tamoxifen online tamoxifen 20mg generic

best online international pharmacies

Sat Mar 25 22:39:22 2023

buy prescription drugs online https://canadianfirstpharmacies.com/ medicin without prescription

grape crush strain

Sun Mar 26 05:45:15 2023

grape crush strain What a week! I was really pleased with the content of your blog. It is really worth to read.

toprol coupon

Sun Mar 26 14:11:59 2023

prilosec 20mg nz prilosec prices prilosec tablets

macrobid 100 mg cost

Mon Mar 27 22:38:22 2023

olmesartan pills cost of olmesartan olmesartan pharmacy

lindsey og

Wed Mar 29 03:02:13 2023

lindsey og Your job is incredible!

pink bubba allbud

Wed Mar 29 07:08:23 2023

http: //herbapproach.com/product/pink-death/
Thanks for sharing an extremely nice opportunity to discover important info from this website.

protonix price

Wed Mar 29 17:23:00 2023

tricor 160 mg canada tricor without a prescription tricor tablet

clotrimazole generic

Thu Mar 30 20:26:07 2023

cymbalta 20mg coupon cymbalta 20mg generic cymbalta australia

what does mean 420 friendly

Fri Mar 31 07:12:03 2023

Allergie Medikamente

insorge

Sun Apr 2 01:12:06 2023

buy generic xenical without prescription a xenical 60 mg preisvergleich para que es bueno el xenical

canada medications

Mon Apr 3 01:20:52 2023

legitimate canadian online pharmacy https://canadianpharmaciestotal.com/ [url=https://canadianpharmaciestotal.com/]medications canada[/url]

lopid uk

Mon Apr 3 12:42:20 2023

buy clozaril 25mg clozaril 50mg prices clozaril online

best online pharmacies

Mon Apr 3 19:27:18 2023

my mexican drugstore https://canadianpharmaciestotal.com/ [url=https://canadianpharmaciestotal.com/]mexican pharmacies online[/url]

asycle

Tue Apr 4 06:47:40 2023

xenical reviews 2013 fda approved orlistat otc letter cuanto cuesta xenical costa rica

what is thca crystalline

Thu Apr 6 06:08:14 2023

what is thca crystalline Fabulous! I really appreciate your site its very formidable.

ovarlele

Thu Apr 6 09:52:26 2023

cheap xenical online s generic xenical overnight orlistat y metformina

cheap pharmacy

Thu Apr 6 22:27:06 2023

canadian meds without a script https://canadianpharmacyquick.com/ [url=https://canadianpharmacyquick.com/]prescriptions canada[/url]

buy drugs online

Fri Apr 7 14:28:26 2023

best online pharmacy reviews https://canadianpharmacyquick.com/ [url=https://canadianpharmacyquick.com/]discount drugs[/url]

DallasBophoift

Sat Apr 8 09:25:49 2023

antibakterielles Stoffspray

motrin without a prescription

Sun Apr 9 00:27:24 2023

compazine united kingdom compazine otc compazine 5mg online pharmacy

pharmacy review

Sun Apr 9 16:22:17 2023

canada drugs online reviews https://canadianpharmacyquick.com/ [url=https://canadianpharmacyquick.com/]canada drug store[/url]

canada pharmacy online

Mon Apr 10 08:14:08 2023

most reliable canadian pharmacies https://canadianpharmaciestotal.com/ [url=https://canadianpharmaciestotal.com/]online discount pharmacy[/url]

HectorBophoift

Tue Apr 11 03:24:49 2023

find

420 in canada

Tue Apr 11 07:44:52 2023

view it now

haute health online dispensary canada

Fri Apr 14 10:00:37 2023

haute health online dispensary canada Thank you for sharing this valuable website with us.

tricor without prescription

Fri Apr 14 14:42:58 2023

catapres usa catapres 100 mcg price catapres 100 mcg purchase

overseas pharmacies

Sat Apr 15 02:25:20 2023

best pharmacy prices https://allcanadianpharm.com/ [url=https://allcanadianpharm.com/]prescription pricing[/url]

approved canadian online pharmacies

Sat Apr 15 09:30:46 2023

cheapest drug prices https://allcanadianpharm.com/ [url=https://allcanadianpharm.com/]canada prescriptions[/url]

AndyBophoift

Mon Apr 17 04:18:33 2023

hop over to this web-site

canadian pharmacies

Mon Apr 17 13:29:46 2023

canadapharmacy.com https://allcanadianpharm.com/ [url=https://allcanadianpharm.com/]discount prescription drug[/url]

Organic OG Kush

Tue Apr 18 02:05:13 2023

Organic OG Kush Your ideas in this blog site were extra ordinary and well presented.

Lemon Haze

Wed Apr 19 08:48:54 2023

Lemon Haze One of akind blog ideas! keep it up.

pharmacy world

Wed Apr 19 09:30:26 2023

most reliable online pharmacies https://canadianpharmacybase.com/ [url=https://canadianpharmacybase.com/]canadian pharmacy[/url]

canada pharmacy

Wed Apr 19 17:13:00 2023

drugs online https://canadianpharmaciesscript.com/ [url=https://canadianpharmaciesscript.com/]overseas pharmacy[/url]

ArthurBophoift

Thu Apr 20 07:48:57 2023

have a peek at this web-site

canada drug stores

Thu Apr 20 15:10:55 2023

non prescription https://canadianpharmacysaver.com/ [url=https://canadianpharmacysaver.com/]reputable canadian pharmacy online[/url]

legitimate canadian pharmacies online

Thu Apr 20 20:18:25 2023

canada online pharmacies https://globalcanadianpharmacies.com/ [url=https://globalcanadianpharmacies.com/]canadianpharmacynoprescription.net[/url]

best online pharmacies without a script

Fri Apr 21 03:11:14 2023

canadian pharmacy meds https://canadianpharmnow.com/ [url=https://canadianpharmnow.com/]canadian pharcharmy online[/url]

Wedding Crasher

Fri Apr 21 03:27:48 2023

Wedding Crasher Im extremely pleased to find this website. I really like the knowledge you present here in this article.

tora bora strain

Fri Apr 21 04:20:29 2023

tora bora strain Nice website. Very interesting this kind of website.

how to purchase symbicort inhaler

Fri Apr 21 04:35:21 2023

aricept 5 mg online aricept uk aricept 5mg uk

legitimate online canadian pharmacies

Sat Apr 22 08:51:53 2023

non prescription drugs https://canadianpharmacysaver.com/ [url=https://canadianpharmacysaver.com/]canadian pharmacies reviews[/url]

canadian pharmacies

Sun Apr 23 06:13:42 2023

canadian pharmacy online https://canadianpharmnow.com/ [url=https://canadianpharmnow.com/]medications without prescription[/url]

Anthonydiaws

Sun Apr 23 11:26:34 2023

Trump's pressure on investigators prompted Rep. https://614973.8b.io/ https://620699.8b.io/ https://www.haikudeck.com/presentations/JQlHkFf98b https://shakeawake1987.diary.ru/ https://jobs.thedrinksbusiness.com/profiles/3272225-kimberly-alexander

Zoe Lofgren, who sits on the House committee probing the insurrection, to warn that the ex-President had issued a "call to arms." "Calling out for demonstrations if, you know, anything adverse, legally, happens to him, is pretty extraordinary. And I think it's important to think through what message is being sent," the California Democrat told CNN's Pamela Brown on Sunday. In yet another sign of Trump's incessantly consuming inability to accept his election loss, he issued a statement that same evening slamming former Vice President Mike Pence for refusing his demands to overturn the result of the democratic election in 2020, and falsely claimed that the then-vice president had the power to do so.

canada rx

Sun Apr 23 18:05:48 2023

drug store online https://globalcanadianpharmacies.com/ [url=https://globalcanadianpharmacies.com/]reputable canadian mail order pharmacy[/url]

StevenBophoift

Mon Apr 24 18:01:12 2023

blog link

best canadian online pharmacy

Wed Apr 26 03:53:55 2023

northwestpharmacy https://alglobalpharma.com/ [url=https://alglobalpharma.com/]onlinecanadianpharmacy.com[/url]

canadian pharmacies shipping to usa

Wed Apr 26 11:21:07 2023

trust online pharmacies https://alglobalpharma.com/ [url=https://alglobalpharma.com/]canada drugs online pharmacy[/url]

safe canadian pharmacies online

Wed Apr 26 11:49:31 2023

top 10 online pharmacies https://canadianpharmnow.com/ [url=https://canadianpharmnow.com/]canadian mail order pharmacies[/url]

tora bora strain

Thu Apr 27 03:53:05 2023

click this

Glysleds

Fri Apr 28 03:28:40 2023

vip casino Ukraine

discount drugs canada

Fri Apr 28 09:39:00 2023

canada pharmacy online orders https://canadianpharmaciesscript.com/ [url=https://canadianpharmaciesscript.com/]aarp recommended canadian online pharmacies[/url]

canada drug prices

Fri Apr 28 10:44:18 2023

legal online pharmacies https://canadianpharmacysaver.com/ [url=https://canadianpharmacysaver.com/]reliable online pharmacy[/url]

Lemon Haze

Sat Apr 29 00:56:51 2023

Lemon Haze The quality of your article is really much appreciated. Good job and thank you!

no prescription online pharmacy

Sat Apr 29 07:37:11 2023

best online international pharmacies https://canadianpharmacybase.com/ [url=https://canadianpharmacybase.com/]world pharmacy[/url]

cost of desmopressin mcg

Sun Apr 30 01:21:04 2023

celebrex 200mg coupon celebrex 100mg over the counter where to buy celebrex

G13 Haze

Sun Apr 30 06:42:34 2023

G13 Haze This is pretty great website.

canada pharmacies online pharmacy

Sun Apr 30 16:35:42 2023

online pharmacies without an rx https://alglobalpharma.com/ [url=https://alglobalpharma.com/]online pharmacy no prescriptions[/url]

Envism

Mon May 1 19:07:29 2023

casino Ukraine

canadian pharmacies that ship to us

Thu May 4 02:00:58 2023

overseas online pharmacies https://canadiandailymeds.com/ [url=https://canadiandailymeds.com/]pharmacy drug store online no rx[/url]

prescription drugs online without

Thu May 4 04:02:55 2023

online pharmacy reviews https://canadianpharmaciestotal.com/ [url=https://canadianpharmaciestotal.com/]list of canadian pharmacies[/url]

edibles vs smoking

Fri May 5 01:51:16 2023

edibles vs smoking Your ideas in this blog site were extra ordinary and well presented.

lopid 300mg pills

Fri May 5 06:29:46 2023

zyprexa 15mg coupon cost of zyprexa zyprexa uk

canadian pharmacy

Fri May 5 07:42:30 2023

prescription drugs without the prescription https://canadianpharmsl.com/ [url=https://canadianpharmsl.com/]meds without a doctor s prescription canada[/url]

orefDeri

Sat May 6 04:13:24 2023

vip casino Ukraine

glimepiride without prescription

Sun May 7 11:04:49 2023

order vantin vantin 200mg cheap vantin cost

toraFage

Mon May 8 05:46:01 2023

vip casino

RoyceBophoift

Mon May 8 07:23:45 2023

my website

ovarlele

Wed May 10 05:19:44 2023

vip casino Ukraine

how to sober up quick

Thu May 11 21:32:40 2023

how to sober up quick Thanks for sharing this informative blog site. Keep it up!

Sunset Sherbert

Fri May 12 05:57:02 2023

Sunset Sherbert I found this blog site its very informative and helpful.

CBD to THC ratio

Sat May 13 04:35:57 2023

CBD to THC ratio I am impressed with your thirst for knowledge. The quality of your article is really much appreciated.

tricor australia

Sat May 13 18:32:13 2023

geodon 80mg without a doctor prescription geodon no prescription geodon pills

BlakeBophoift

Sat May 13 20:54:48 2023

view website

Glysleds

Mon May 15 06:07:03 2023

online casino

Chernobyl

Mon May 15 06:32:12 2023

how to purchase prochlorperazine 5 mg prochlorperazine pills

AntonioBophoift

Tue May 16 16:59:19 2023

webpage

Marijuana Plant

Thu May 18 08:27:50 2023

Marijuana Plant This is pretty great website.

how to buy motrin 200mg

Fri May 19 18:18:34 2023

imitrex 50 mg tablets imitrex 100 mg pills imitrex 50 mg tablets

EzekielBophoift

Sat May 20 06:57:16 2023

browse this site

Blue Hawaiian

Sun May 21 21:14:31 2023

Blue Hawaiian Its incredible how thorough your work is. You come up with fantastic ideas!

NYC Diesel

Mon May 22 02:18:19 2023

how to purchase geodon 20 mg order geodon 40 mg

NathanBophoift

Wed May 24 12:15:06 2023

helpful hints

how to grow weed

Fri May 26 09:26:28 2023

how to grow weed I found this blog site its very informative and helpful.

cheap remeron

Fri May 26 21:31:24 2023

zocor 10 mg medication where can i buy zocor 10mg cheapest zocor 5mg

og fire

Sun May 28 20:46:45 2023

og fire Its really a great and useful piece of info. Thank you for sharing. Keep it up!

lindsey og

Tue May 30 01:32:05 2023

lindsey og Awesome point of view on this blog site. keep it up!

GregoryBophoift

Tue May 30 08:26:36 2023

why not try these out

where to buy elavil

Wed May 31 21:59:37 2023

catapres purchase catapres tablets catapres no prescription

terbinafine for sale

Sat Jun 3 20:28:38 2023

levofloxacin prices levofloxacin 750mg canada where to buy levofloxacin

IsraelBophoift

Sun Jun 4 13:11:03 2023

these details

buspar 5 mg tablet

Wed Jun 7 07:36:16 2023

imitrex 100 mg usa imitrex united kingdom imitrex 50mg purchase

Comment on this post.

Name
Comment