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.
- Many of his operations are bash specific, and so I wouldn't call them for the "unix" shell, but rather the bash shell.
- For the most part, they aren't set operations at all, but rather bag operations.
- 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.
- A set is a unique list of elements, one per line.
- A bag is a non-necessarily unique list of elements.
- Sets and bags will be in files names with capital letters.
- Specific elements will be given in single quotes.
- A plain unquoted 'e' will be used to denote an arbitrary element
- Tests output nothing to stdout and exit 0 if the test is true and 1 if false
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
420 in canada
Tue Apr 11 07:44:52 2023
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
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
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
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
Glysleds
Fri Apr 28 03:28:40 2023
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
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
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
RoyceBophoift
Mon May 8 07:23:45 2023
ovarlele
Wed May 10 05:19:44 2023
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
Glysleds
Mon May 15 06:07:03 2023
Chernobyl
Mon May 15 06:32:12 2023
how to purchase prochlorperazine 5 mg prochlorperazine pills
AntonioBophoift
Tue May 16 16:59:19 2023
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
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
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
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
buspar 5 mg tablet
Wed Jun 7 07:36:16 2023
imitrex 100 mg usa imitrex united kingdom imitrex 50mg purchase